Кажется, что создание графического качества публикации с mma - это черное искусство, которое датируется десятилетиями. Несмотря на то, что в последние годы ситуация значительно улучшилась, все еще сложно получить согласованные результаты при экспорте в файлы. То, как выглядит конечный результат, выглядит несколько зависящим от формата (с EPS лучше всего работает в моем опыте).
Довольно часто строки в кадрах и меток заканчиваются слишком слабыми в файле EPS, и, пытаясь сделать что-то вроде FrameStyle->AbsoluteThickness[2]
, легко получить слишком толстые строки. Таким образом, мой текущий подход включает в себя принятие пяти параметров - трехлинейных толщин (в FrameStyle, AxesStyle и PlotStyle), ImageSize и FontSize в BaseStyle - и случайным образом настраивает их до тех пор, пока экспортируемый график не станет приемлемым. Это несколько неудовлетворительно и требует много времени.
Есть ли лучший способ и/или стандартный рецепт, чтобы следовать, чтобы достичь сбалансированных, красивых графиков?
Изменить: здесь один пример. Выглядит хорошо на экране (см. Снимок экрана), но экспортируйте его в EPS, и вы, вероятно, увидите две вещи: (a) Там ошибка с вложением шрифта EPS: для меня эпсилон внутри фигуры не встроен должным образом, если я не удаляю директиве FontWeight->Normal
. (b) Линии кадра/метки светло-серые и 1 пиксель. Если бы я хотел сжать эту цифру (например, чтобы разместить ее как вставку), это избаловало бы качество. Однако использование AbsoluteThickness[2]
выглядит плохо - поэтому мне нужно увеличить ImageSize
. Но тогда шрифты слишком малы и/или строки в сюжете выглядят слишком тонкими и т.д. И т.д.
With[{exSubscript = "\[UpTee]", epsFontSize = 24,
xcoords = {0.63, 2.2}}, testInset = Style[Inset[Cell[TextData[Cell[
BoxData[FormBox[SubscriptBox["\[Epsilon]", exSubscript],
TraditionalForm]]]]], xcoords, {Left, Baseline}],
FontWeight -> Normal, FontSize -> epsFontSize];
];
Show[Plot[10 x^2, {x, 0, 1}, PlotStyle -> Thick, Frame -> True,
PlotRange -> {-2, 8}, Epilog -> {testInset}], Axes -> {True, True},
AxesOrigin -> {0, 0}, AxesStyle -> Dashed,
FrameLabel -> {"\[Lambda] [\[Mu]m]", "Re{\[Epsilon]}"},
BaseStyle -> {FontSize -> 22, FontWeight -> Plain,
FontFamily -> Helvetica}, ImageSize -> 500]
Export["test.eps", %]
Изменить: Принимая ответ Szabolcs, но Mr.Wizard следует отдать должное за указание FontFamily -> Helvetica
vs FontFamily -> "Helvetica"
(что кажется ошибкой). Без кавычек экспорт PDF не является стартером из-за испорченных шрифтов.