在Gnuplot 4.0中select线型和颜色

我有两对数据集,我需要使用Gnuplot进行绘图。

我希望第一对被绘制成红色,一个固体,一个虚线。 第二对,我想用蓝色绘制,一个实体,一个虚线。

我已经尝试了几次set style line ,但我无法得到这个确切的行为。 我最后一次尝试(附图)将第一对标记为红色(实心),第二对标记为蓝色(虚线)。

任何帮助将不胜感激。

 set style line 1 lt 1 lw 3 pt 3 set style line 2 lt 1 lw 3 pt 3 set style line 3 lt 3 lw 3 pt 3 set style line 4 lt 3 lw 3 pt 3 plot 'data1.dat' using 1:3 wl ls 1,\ 'data1.dat' using 1:4 wl ls 2,\ 'data2.dat' using 1:3 wl ls 3,\ 'data2.dat' using 1:4 wl ls 4 

你需要使用linecolor而不是lc,比如:

set style line 1 lt 1 lw 3 pt 3 linecolor rgb "red"

“帮助设置风格线”给你更多的信息。

我遇到了这个话题,因为我也在用虚线挣扎(gnuplot 4.6 patchlevel 0)

如果你使用:

 set termoption dashed 

您发布的代码将相应地工作

相关问题:
但是,如果我想输出一个PNG:设置terminalPNG,这不工作了。 任何人都知道为什么?

原来,gnuplots png出口库不支持这个。
Possbile解决scheme:

  • 可以简单地导出到ps,然后用pstopng转换它
  • 根据@christoph,如果您使用pngcairo作为您的terminal( set terminal pngcairo )它将工作

您也可以在设置terminal时设置“虚线”选项,例如:

 set term pdf dashed 

这里是语法:

  set terminal pdf {monochrome|color|colour} {{no}enhanced} {fname "<font>"} {fsize <fontsize>} {font "<fontname>{,<fontsize>}"} {linewidth <lw>} {rounded|butt} {solid|dashed} {dl <dashlength>}} {size <XX>{unit},<YY>{unit}} 

举个例子:

 set terminal pdfcairo monochrome enhanced font "Times-New-Roman,12" dashed 

编辑:对不起,这不适合你。 我只记得4.2的线颜色的东西。 我遇到过这个问题,我的修复是升级gnuplot。

您也可以使用设置样式线来控制颜色。 “lt 3”会给你一个虚线,而“lt 1”会给你一个实线。 要添加颜色,可以使用“lc rgb'color'”。 这应该做你所需要的:

 set style line 1 lt 1 lw 3 pt 3 lc rgb "red" set style line 2 lt 3 lw 3 pt 3 lc rgb "red" set style line 3 lt 1 lw 3 pt 3 lc rgb "blue" set style line 4 lt 3 lw 3 pt 3 lc rgb "blue" 

你可能想看看Pyxplot绘图软件包http://pyxplot.org.uk ,它与gnuplot的语法非常相似,但粗糙的边缘被清理了。 它处理颜色和线条样式十分整洁,在x11和eps / pdfterminal之间均匀。

上面你想要做的Pyxplot脚本将是:

 set style 1 lt 1 lw 3 color red set style 2 lt 1 lw 3 color blue set style 3 lt 2 lw 3 color red set style 4 lt 2 lw 3 color blue plot 'data1.dat' using 1:3 wl style 1,\ 'data1.dat' using 1:4 wl style 2,\ 'data2.dat' using 1:3 wl style 3,\ 'data2.dat' using 1:4 wl style 4` 

我知道这个问题是旧的,但我发现这非常有帮助http://www.gnuplot.info/demo_canvas/dashcolor.html 。 所以你可以分别selectlinetype和linecolor,但是你必须在“set termoption dash”之前(在gnuplot 4.4中为我工作)。