在条形图中,如何将垂直文本放在某些条形图的位置?

时间:2016-08-08 04:26:26

标签: gnuplot

在Gnuplot中,我使用条形图,但并非所有数据点都有值。在那些地方,我想用垂直文字替换栏,上面写着“无法服务”。我该怎么做?

1 个答案:

答案 0 :(得分:3)

假设您有标签来表示缺失的数据,例如以下数据文件,其中缺少的数据由“NaN”发出信号:

0 2.3
1 3.1
2 NaN
3 6.1
4 0.5
5 NaN
6 NaN
7 4.9
8 7.0
9 NaN

你可以进行条件绘图,这样当gnuplot遇到“NaN”时会打印出“缺少数据”的消息:

set style fill solid
set boxwidth 0.9
set xrange [-1:10]
plot "data" u ($1):($2) with boxes not, \
"" u ($1):(stringcolumn(2) eq "NaN" ? 1. : 1/0):("Missing data") \
w labels rotate by 90 not

enter image description here

请注意,我将“缺失数据”标签置于y = 1处。您需要根据需要进行调整。

相反,如果您的数据丢失了:

0 2.3
1 3.1
2    
3 6.1
4 0.5
5  
6  
7 4.9
8 7.0
9  
事情变得有点复杂,参见例如column with empty datapoints