Проблема Я пытаюсь напечатать маленькие (диаметром = 0,02 см и т. Д.) Заполненные кружки в pdf в точном размере. Я могу печатать точные круги диаметром 2 см, 1 см, 0,5 см, но когда я пытаюсь опускаться ниже ~ 0,04 см, напечатанная фигура включает не все круги. Позвольте мне показать вам, что я имею в виду с некоторыми образцами фотографий. Обратите внимание, что все круги разделены по длине в диаметре, чтобы получить хороший набор из них. Первое изображение показывает вывод того же кода с d = 1, второе - d = 0.5, а последнее - d = 0.02.
Первые два изображения верны. На последнем изображении видно, что большинство кругов не напечатаны. Круги имеют правильный размер, но напечатаны только некоторые из них. Он должен был выглядеть сложенным, как первые две картинки, но только маленькими кружочками.
Минимальные рабочие коды примеров:
cm2pts=72/2.54; %cm to inch and inch to points = cm to points
ax.Units='points'; fig.Units='points';
height=cm2pts*220; % 'page' dimensions
width=cm2pts*150;
ax.XLim=([0 width]); ax.XLim=([0 height]);
diameter=0.02*cm2pts;
distance=diameter;
...
here is a loop that creates a x,y position vector for all dots
...
plot(ax,x,y, ... 'MarkerFaceColor','black','MarkerEdgeColor','none', ...
'Marker','o','LineStyle','none','MarkerSize',diameter);
set(ax,'xtick',[],'ytick',[]);
ax.Units='normalized'; ax.Position=[0 0 1 1]; ax.Units='points';
fig.PaperUnits='points';
fig.PaperPositionMode = 'manual';
fig.PaperPosition=[0 0 width height];
fig.PaperSize = [PaperPosition(3) PaperPosition(4)];
print(fig,'-painters','output.pdf','-dpdf')
Примечания
-Я пытался масштабировать все (печать в 5х размерах, чтобы круги были больше), думая, что я буду уменьшать (до 20%) во время печати, но это все равно не получится, может быть, из-за отношения круга к рисунку размеры.
-Я вручную проверил x, y позиции, они правильные.
-Я пытался изменить маркер на '.' но '.' не может быть меньше ~ 2,5 мм, даже если вы указали MarkerSize как eps.
-Я пробовал прямоугольник, но он не может быть векторизован (с помощью кода), поэтому он медленный и вызывает слишком много оперативной памяти и размер файла.
-Я пытался установить положение фигуры в реальном размере, вывод не изменился.
- Размеры выходного файла верны во всех случаях.
-Я пробовал разбрасывать, но я просто не мог получить реальный размер, который хотел от разброса Он говорит, что S (площадь маркера) - это точки ^ 2 в документах для разброса, но я не смог получить какой-либо размер, например, d 1 см с разбросанными кругами.
- Поведение совпадает с Matlab Online.