【问题标题】:Choosing line type and color in Gnuplot 4.0在 Gnuplot 4.0 中选择线型和颜色
【发布时间】:2011-01-05 17:25:51
【问题描述】:

我有两对数据集,需要使用 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

【问题讨论】:

    标签: gnuplot


    【解决方案1】:

    你需要用linecolor代替lc,比如:

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

    “帮助设置样式线”为您提供更多信息。

    【讨论】:

    • 他在询问 Gnuplot 4.0,它没有 'rgb "red"' 语法
    【解决方案2】:

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

    如果你使用:

    set termoption dashed
    

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

    相关问题:
    但是,如果我想导出一个 png: 设置终端png,这不再起作用了。有人知道为什么吗?

    事实证明,gnuplots png 导出库不支持这个。
    可能的解决方案:

    • 可以简单的导出到ps,然后用pstong转换
    • 根据@christoph 的说法,如果您使用pngcairo 作为您的终端(set terminal pngcairo),它将起作用

    【讨论】:

    • 经过一些研究,gnuplots png 导出库不支持这个。但是,可以简单地导出为 ps,然后用 pstopng 进行转换。
    • png 终端(使用libgd)不支持,但pngcairo 终端支持虚线。
    【解决方案3】:

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

    set term pdf dashed
    

    【讨论】:

      【解决方案4】:

      语法如下:

        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
      

      【讨论】:

        【解决方案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`
        

        【讨论】:

          【解决方案6】:

          编辑:对不起,这对你不起作用。我只记得线颜色的东西是在 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"
          

          【讨论】:

          • 很遗憾 lc 在 Gnuplot 4.0 中不可用
          • 据我所知,您根本无法使用 x11 术语指定线型。我正在使用 gnuplot 4.4,并且我 从未 成功划线,无论选项如何(当然也尝试线型)..
          【解决方案7】:

          我知道这个问题很老,但我发现这很有帮助 http://www.gnuplot.info/demo_canvas/dashcolor.html 。因此,您可以分别选择线型和线色,但必须在所有内容之前加上“set termoption dash”(在 gnuplot 4.4 中为我工作)。

          【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-09-23
          • 1970-01-01
          • 2014-12-17
          • 1970-01-01
          • 2021-07-12
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多