如何解决gnuplot的“步骤”样式不接受可变颜色
我正在Debian 10上使用Gnuplot版本5.2补丁程序级别6。以下程序
$d << EOD
1 0.5 0.1
2 0.75 0.2
3 0.99 0.5
4 1.25 1.1
EOD
plot $d using 1:2:3 w lines lc palette z lw 2
产生预期的输出:
但是如果我将最后一行更改为
plot $d using 1:2:3 w steps lc palette z lw 2
我收到一条错误消息:
line 7: Too many using specs for this style
中的段落 II绘图样式,步骤
输入列的要求与绘图样式的线和点相同。
以及在 II绘图样式,线条段中指出:
基本格式需要1、2或3列输入数据。其他输入列可用于提供信息,例如线条颜色可变
我在做什么错了?
解决方法
如果要绘制with steps
,则问题可能是:垂直线应具有哪种颜色?
快速查看文档,我找不到提示with steps
明显地起作用还是明显地不起作用。
在任何情况下,都可以使用以下代码来解决:
代码:
### plotting with steps and variable line color
reset session
$Data <<EOD
1 0.5 0.1
2 0.75 0.2
3 0.99 0.5
4 1.25 1.1
EOD
set xrange [0:5]
set yrange [0:1.5]
plot x1=y1=NaN $Data u (x0=x1,x1=$1,x0):(y0=y1,y1=$2,y0):(x1-x0):(0):3 w vectors lw 2 lc palette nohead notitle,\
x1=y1=NaN $Data u (x0=x1,x1):(y0=y1,y0):(0):(y1-y0):3 w vectors lw 2 lc palette nohead notitle
### end of code
结果:
添加 :(颜色可变的垂直线)
也许您注意到在您的4个数据点中只有3种颜色。这很明显,因为如果您有4个数据点,那么您将只有3条连接线,因此只有3种颜色。
变化如下:
根据第3列的颜色绘制您的4个点,并使用与水平线相同的颜色。
但是,对于垂直线,您可以根据调色板使用相应的颜色将线分成所需的多个级别(此处为myLevels = 20
)。
代码:
### plotting with steps and variable line color (vertical lines with variable color)
reset session
$Data <<EOD
1 0.5 0.1
2 0.75 0.2
3 0.99 0.5
4 1.25 1.1
EOD
set xrange [0:5]
set yrange [0:1.5]
myLevels = 20
plot x1=y1=c1=NaN $Data u (x0=x1,y0):(x1-x0):(0):(c0=c1,c1=$3,c0) w vectors lw 2 lc palette nohead notitle,\
for [i=0:myLevels-1] x1=y1=NaN $Data u (x0=x1,y0+(y1-y0)*i/myLevels):(0):((y1-y0)/myLevels):(c0=c1,c0+(c1-c0)*i/myLevels) w vectors lw 2 lc palette nohead notitle,\
$Data u 1:2:3 w p pt 7 ps 2 lc palette notitle
### end of code
结果:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。