Gnuplot 5.0中dashtype索引的确切含义?

Flo*_*hao 2 gnuplot

我在Gnuplot 5.0中遇到了一个问题,即dashtype索引,例如手册中的``set dashtype 1(2,5,2,15)`.

我的问题是:括号中的这些数字到底意味着什么?我试图改变它们以获得一种感觉,但知道它的确切含义会很棒.

我的实际问题是,简单地使用dashtype N,不幸地给出了与之前的4.6版本非常不同的行.我只是尝试重现在gnuplot 4.6中制作的图.

Chr*_*oph 7

那些是数字对

<solid length>,<empty length>
Run Code Online (Sandbox Code Playgroud)

这些长度是内部单位长度的因素.仪表板图案长度还取决于dashlength端子选项和线宽.

所以,拥有

plot x dt (2,4,2,6)
Run Code Online (Sandbox Code Playgroud)

绘制一个破折号,一个空的空间两倍长,再一个相同的长度和一个空的空间三倍的短划线长度.

然后是第一个破折号的实际长度

linewidth * terminal_linewidth * solid_length * terminal_dashlength * dash_unit
Run Code Online (Sandbox Code Playgroud)

第一个例子:

set terminal pngcairo size 600,50 dashlength 2 linewidth 1
set output 'dash1.png'
unset border; unset key; unset tics
plot 0 dt (2,4,2,6) lw 10
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

可能令人困惑的是,某些终端默认使用qtwxt使用圆形线端(终端选项round),它们应用于每个短划线,这会扭曲实际给定的短划线长度:

set terminal pngcairo size 600,50 round dashlength 2 linewidth 1
set output 'dash2.png'
unset border; unset key; unset tics
plot 0 dt (2,4,2,6) lw 10
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

终端选项square在每一端将每个短划线延伸一个线宽:

set terminal pngcairo size 600,50 square dashlength 2 linewidth 1
set output 'dash2.png'
unset border; unset key; unset tics
plot 0 dt (2,4,2,6) lw 10
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

在最后一个例子中,最终的短划线长度为(4,2,4,4).

要使用其他终端默认获得第一个示例(精确短划线长度)的行为,请使用buttterminal选项.