gnuplot:如何用单命令实现带可变点型的误差棒绘图?
单条gnuplot命令实现带误差棒的可变点型图表
解决方案
可以通过明确指定误差棒的方向为y轴,同时绑定点型变量列,实现单命令绘制:
array data = [7, 2, 5, 6] plot [0.7:4.3] data using 1:2:(0.8):(7-($1==3)) with yerrorbars pointtype variable lc 1
原理说明
- 你之前尝试的
with errorbars会默认把第三、第四列解析为x方向的误差范围(xlow、xhigh),这和你想用第四列指定点型的需求冲突; - 改用
with yerrorbars后,gnuplot会将第三列识别为y方向的误差值,第四列就可以被用来指定可变点型,配合pointtype variable生效; - 也可以用更显式的列定义写法,效果完全一致:
这里前三个参数是plot [0.7:4.3] data using 1:2:(0.8):(0):(0):(7-($1==3)) with errorbars pointtype variable lc 1x:y:y误差,中间两个0表示无x方向误差,最后一个参数是点型列。
优势
- 单命令输入更简洁,可读性和维护性更高;
- 仅生成一个图例条目,支持鼠标点击切换显示/隐藏,无需额外处理图例隐藏问题。
内容的提问来源于stack exchange,提问作者Friedrich -- Слава Україні
相关产品推荐
相关产品推荐

