Выход gnuplot png не отображает штриховые/пунктирные линии

Я пытаюсь построить фигуру, содержащую как пунктирные, так и непрерывные линии с gnuplot v4.4. Код:

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"

Проблема в том, что я не могу построить ее для png. Когда я меняю инструкцию set term на: set term png enhanced, я получаю только непрерывные строки. Любая идея, что пошло не так?

Ответ 1

Оказывается, я не могу получить пунктирные линии в терминале png либо (тот, у которого есть бэкэнд GD). Однако, если у вас есть терминалы cairo, вы можете получить png с пунктирными линиями (при условии, что вы выбираете соответствующие типы линий).

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

В стороне, test является фантастическим для изучения того, каково поведение конкретного терминала.

Ответ 2

У вас есть опция dt для dashtype в pngcairo. Легенда здесь

e.g

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

дает тире 5