在Gnuplot 4.0中选择线型和颜色

Esc*_*alo 36 gnuplot

我有两对数据集,我需要使用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 w l ls 1,\
     'data1.dat' using 1:4 w l ls 2,\
     'data2.dat' using 1:3 w l ls 3,\
     'data2.dat' using 1:4 w l ls 4
Run Code Online (Sandbox Code Playgroud)

Zit*_*rax 28

您需要使用linecolor而不是lc,例如:

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

"帮助设置样式线"为您提供更多信息.

  • 他在询问Gnuplot 4.0,它没有'rgb"red"'语法 (7认同)

p11*_*00i 14

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

如果您使用:

set termoption dashed
Run Code Online (Sandbox Code Playgroud)

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

相关问题:
但是,如果我想导出一个png:set terminal png,这就不再适用了.任何人都知道为什么?

事实证明,gnuplots png导出库不支持这一点.
Possbile解决方案:

  • 一个可以简单地导出到ps,然后用pstopng转换它
  • 根据@christoph的说法,如果你pngcairo用作你的终端(set terminal pngcairo)它会起作用

  • 经过一些研究结果表明,gnuplots png export library不支持这一点.但是,可以简单地导出到ps,然后使用pstopng进行转换. (2认同)
  • `png`终端(使用`libgd`)没有,但`pngcairo`终端支持虚线. (2认同)

Emi*_*ben 7

您还可以在设置终端时设置"虚线"选项,例如:

set term pdf dashed
Run Code Online (Sandbox Code Playgroud)


小智 7

这是语法:

  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}}
Run Code Online (Sandbox Code Playgroud)

一个例子:

set terminal pdfcairo monochrome enhanced font "Times-New-Roman,12" dashed
Run Code Online (Sandbox Code Playgroud)


小智 5

您可能想查看 Pyxplot 绘图包http://pyxplot.org.uk,它的语法与 gnuplot 非常相似,但清理了粗糙的边缘。它非常巧妙地处理颜色和线条样式,并且在 x11 和 eps/pdf 终端之间均匀地处理。

你想要在上面做的 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 w l style 1,\
  'data1.dat' using 1:4 w l style 2,\
  'data2.dat' using 1:3 w l style 3,\
  'data2.dat' using 1:4 w l style 4`
Run Code Online (Sandbox Code Playgroud)


Nea*_*eal 4

编辑:抱歉,这对你不起作用。我只记得线条颜色是在 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"
Run Code Online (Sandbox Code Playgroud)

  • 据我所知,您根本无法使用 x11 术语指定线型。我正在使用 gnuplot 4.4 并且我*从未*成功地划过一条线,无论选项如何(当然也尝试了线型)。 (3认同)