【问题标题】:gnuplot linewidth and line type with terminal postscript带有终端后记的gnuplot线宽和线型
【发布时间】:2014-11-25 00:45:19
【问题描述】:

在 gnuplot 中,我使用 set term postscript enhanced eps color 以及 lw 5lt 1, 2 and 3 来绘制三个不同的图表。

由于图表的宽度,这三种情况的线型看起来并没有太大差异。

如果我将lw 的值减小到2,事情开始变得更好,但我想继续使用lw 5,同时能够使用不同的线型。我错过了什么吗?

编辑

按照两个图表。使用set term postscript enhanced eps color dashed

set term epscairo color dashed:

在这两种情况下,我都使用了lw 4

带有epscairo 的版本看起来更好,但仍然是点划线,看起来很糟糕,接近f(x)=1sin(2x)

【问题讨论】:

  • 这和破折号没有关系,用set samples 1000提高采样率就行了。
  • set sample 只和内置函数有关?或者,如果我有自己的数据也会有所帮助?
  • 是的,这不会影响数据图。那里只有与数据点一样多的样本。如果你需要这个,你可以用例如平滑你的数据。 smooth cspline。不过,这与虚线或实线完全无关。
  • 太棒了! smooth cspline 完成了这项工作。我应该修改我的问题,然后让您的(这个)答案被接受吗?
  • 不,我想你可以这样。您必须完全重写问题,而现有的两个答案将是多余的。只是,下一次,请从一开始就提供足够简洁的信息;)

标签: bash gnuplot


【解决方案1】:

我认为这是 postscript 终端虚线的普遍问题:由于某些内部原因,这些点没有绘制为一条连续的线,但每 100 个点,这条线就会被moveto 操作中断。对于虚线,这可能会导致非常奇怪的结果。

一个病态的例子是

set terminal postscript eps mono dashed dl 10 lw 5
set samples 200
set output 'test.eps'
plot x lt 2

如您所见,中间的破折号比其他的长得多。尝试使用epscairo 终端,看看效果是否更好。

【讨论】:

  • 好吧,那么你应该拿出一些示例图像来完成这个快乐的猜测......
  • 我想上传一个.eps,你能告诉我你是怎么做到的吗?
  • 你不能。我使用epstopdf file.eps file.pdf && pdftocairo -png -r 100 file.pdf将pdf上的eps文件转换为png,您最终可以上传。
【解决方案2】:

当您设置终端时,您可以使用dl 选项指定破折号长度,这也会增加破折号之间的分隔:

set term postscript enhanced eps color dl 4
plot sin(x) lw 5 lt 2, cos(x) lw 5 lt 3

您还可以添加点以更好地区分您的图表:

set term postscript enhanced eps color
plot "+" u ($1):(sin($1)) w lp lw 5 lt 2 ps 2 pt 7

【讨论】:

  • 结果还是不看。假设我想要这个白色和黑色的图形。怎么一眼看不出这两个函数的区别。
  • @ziulfer 但那是另一回事。除了lt 2lt 3,还有其他线型。此外,您可以在图表中添加点(见新附上的)。
  • 我想使用颜色,但如果有人想用白色和黑色打印我的图表,重要的是他们很容易看到两条曲线之间的差异。否则,我认为使用lt 毫无意义。在这种情况下,纯行的默认值lt 1 就足够了。我知道还有其他线型。但是一旦我使用大于 2 的lw,我就会得到非常“丑陋”的结果。此外,我有大约 30000 个数据点,因此在我的图表中添加点不会有太大帮助。
  • 你不需要添加所有的点,使用every 命令你可以跳过其中的一些。您可以绘制数据两次:一次仅使用线条,另一次使用跳过大部分线条的点。像这样的东西:mcaroba.dyndns.org/misc/08_4.png
  • @Miguel 您也可以使用pointinterval 选项来绘制每个第 n 个点,但使用每个点作为线 :)
猜你喜欢
  • 2012-07-22
  • 2013-10-25
  • 1970-01-01
  • 2016-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多