相关疑难解决方法(0)

导出出版物的图形:如何在绘图元素中实现一致的线条粗细?

似乎用mma创建出版品质的图形是一种可以追溯到几十年前的黑色艺术.虽然近年来情况有了很大改善,但在导出到文件时仍难以获得一致的结果.最终结果看起来似乎有些依赖于格式(根据我的经验,EPS效果最好).

通常情况下,帧和刻度线中的线条在EPS文件中最终过于模糊,并且在尝试执行类似操作时FrameStyle->AbsoluteThickness[2],很容易得到太粗的线条.因此,我目前的方法涉及在BaseStyle中采用五个参数 - 三个线条粗细(在FrameStyle,AxesStyle和PlotStyle中),ImageSize和FontSize - 并随机调整它们直到导出的图形看起来可以接受.这有点令人不满意且耗时.

是否有更好的方法和/或标准处方可以实现平衡,美观的情节?

编辑:这是一个例子.在屏幕上看起来不错(见屏幕截图),但将其导出到EPS中你可能会看到两件事:(a)EPS字体嵌入有一个错误:对我来说,图中的epsilon没有正确嵌入,除非我删除该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 -> …
Run Code Online (Sandbox Code Playgroud)

wolfram-mathematica

17
推荐指数
2
解决办法
2万
查看次数

LevelScheme中的直方图

我刚刚开始使用LevelScheme,并且在使直方图在图中正确拟合方面存在问题.最小的非工作示例:

<<"LevelScheme`"
Figure[{FigurePanel[{{0, 1}, {0, 1}},
   LabB -> textit["x"], BufferB -> 2.5,
   LabL -> textit["p(x)"], BufferL -> 2.5,
   FrameTicks -> {LinTicks[-4, 4], LinTicks[0, 1]},
   PlotRange -> {{-3, 3}, {0, 0.5}}], 
  RawGraphics[
   Histogram[RandomReal[NormalDistribution[], 1000], Automatic, 
    "ProbabilityDensity"]]},
 Frame -> False, PlotRange -> {{-0.075, 1.1}, {-0.1, 1.03}}]
Run Code Online (Sandbox Code Playgroud)

输出看起来像这样

在此输入图像描述

它看起来应该是这样的

在此输入图像描述

基本上,Histogram图形对象不服从FigurePanel's PlotRange,而是服从主要FigurePlotRange.当Histogram被一个Plot或类似的命令替换时,不会发生此行为.所以以下产生了一个干净的情节

Figure[{FigurePanel[{{0, 1}, {0, 1}},
   LabB -> textit["x"], BufferB -> 2.5,
   LabL -> textit["p(x)"], BufferL -> 2.5,
   FrameTicks …
Run Code Online (Sandbox Code Playgroud)

wolfram-mathematica levelscheme

6
推荐指数
1
解决办法
885
查看次数

标签 统计

wolfram-mathematica ×2

levelscheme ×1