你能帮我吗?我想将一种线型更改为点线。我使用这些命令:

gnuplot> set terminal png size 750,210 nocrop butt font "/usr/share/fonts/truetype/ttf-liberation/LiberationSans-Regular.ttf" 8
gnuplot> set output "/root/data.png"
gnuplot> set xdata time
gnuplot> set timefmt "%Y-%m-%d"
gnuplot> set format x "%b %d"
gnuplot> set ylabel "item1"
gnuplot> set y2label "item2"
gnuplot> set y2tics
gnuplot> set datafile separator "|"
gnuplot> plot "/root/results.txt" using 1:2 title "item1" w lines lt 4, "/root/results.txt" using 1:3 title "item2" with lines

但是我总是只能得到洋红色的色线。
我使用了4.6版本的补丁程序级别0。
感谢您的答复。

最佳答案

有几种使用set命令更改线条颜色的方法:

  • 定义线条样式:
    set style line 1 linetype 1 linecolor 7
    set style line 2 linetype 1 linecolor rgb "#dd7700"
    plot x linestyle 1, x**2 linestyle 2
    

    您必须明确指定使用哪种线型。
  • 如果未指定任何内容,请选择并增加线型而不是线型:
    set style line 1 linetype 1 linecolor 7
    set style line 2 linetype 1 linecolor rgb "#dd7700"
    set style increment user
    plot x, x**2
    
  • 重新定义默认的线型(在4.6.0版中引入):
    set linetype 1 linecolor 7
    set linetype 2 linetype 1 linecolor rgb "magenta"
    plot x, x**2
    

    请注意,与线条样式不同,set linetype进行的重新定义是持久的。它们不受reset的影响。要重置它们,您必须使用set linetype 1 default

  • 因此,最小的绘图脚本可能类似于:
    reset
    set terminal pngcairo dashed monochrome
    set output "/root/data.png"
    set xdata time
    set timefmt "%Y-%m-%d"
    set format x "%b %d"
    set datafile separator "|"
    set style data lines
    
    plot "/root/results.txt" using 1:2 linetype 1, "" using 1:3 linetype 3
    

    08-05 11:43