gnuplot png output doesn't plot dashed/dotted

2020-06-01 08:46发布

问题:

I'm trying to plot a figure that contains both dashed and continuous lines with gnuplot v4.4 . The code is:

set term postscript eps enhanced color
set style line 1 linetype 1 lw 2
set style line 2 linetype 1 lw 2 linecolor rgb 'green'
set style line 3 linetype 1 lw 2 linecolor rgb 'blue'
set style line 4 linetype 4 lw 2 linecolor rgb 'red'
set style line 5 linetype 3 lw 2 linecolor rgb 'blue'

set border lw 3
set xtics font ',18'
set ytics font ',18'
set output 'roc.ps'
set key right bottom
plot 'roc_fpdock_isc_test' u 1:2 w l ls 1 title "Full optimization, test set" ,x w l ls 2 title "Random", 'roc_fpdock_isc_training' u 1:2 w l ls 3 title "Full optimization, training set", 'roc_mini_pep_sc_training' u 1:2 w l ls 4 title "Minimization only, training set", 'roc_mini_pep_sc_test' u 1:2 w l ls 5 title "Minimization only, test set"

Problem is , I can't plot it to png. When I change the set term instruction to: set term png enhanced I get only continuous lines. Any idea what went wrong?

回答1:

It turns out that I can't seem to get dashed lines in the png terminal either (the one with the GD backend). However, if you have the cairo terminals, you can get a png with dashed lines (assuming you pick the appropriate linetypes).

set term pngcairo dashed
set output "foo.png"
test
!display foo.png
!rm foo.png

As an aside, test is fantastic for inquiring what the behavior of a particular terminal will be.



回答2:

You have the dt option for dashtype in pngcairo. Legend here:

e.g

set style line 5 linetype 3 dt 5 lw 3 linecolor rgb 'green' 

gives dashtype 5



标签: gnuplot