我在数据文件test1.txt
中具有以下数据:
A 36 1
A 35 1
B 48 2
B 37 2
B 15 2
C 36 3
C 25 3
和test2.txt
A 16 1
A 25 1
B 38 2
B 45 2
C 36 3
绘制完成为:
dat1="test1.txt"
dat2="test2.txt"
plot dat1 u ($3-0.2):2 w p t 'title 1', \
dat2 u ($3+0.2):2 w p t 'title 2', \
dat1 using 3:(0):xticlabels(1):x2ticlabels(1) notitle, \
dat2 using 3:(0):xticlabels(1):x2ticlabels(1) notitle
重点是在x
轴的第一列中添加标签。问题是剧情的最后两个部分
dat1 using 3:(0):xticlabels(1):x2ticlabels(1) notitle, \
dat2 using 3:(0):xticlabels(1):x2ticlabels(1) notitle
在y=0
处产生分数。而且因为我不能(或者我不知道如何使用)
plot dat1 u ($3-0.2):2:xticlabels(1) w p t 'title 1'
((因为它在x
坐标$3-0.2
而不是$3
处绘制标签,这是我要求的,所以我被迫再做两个虚拟图,但它们会产生点,并且我不知道如何有效地除了通过例如将图的范围之外移动之外,避免这种情况仅绘制正值时的dat1 using 3:(0):xticlabels(-1):x2ticlabels(-1)
。有什么好的方法可以解决这个问题?
我不太了解您要如何处理数据,但是,如果要使x轴上的点不可见,可以将最后两个图的线色设置为完全透明:
dat1 using 3:(0):xticlabels(1):x2ticlabels(1) linecolor "#FFFF0000" notitle, \
dat2 using 3:(0):xticlabels(1):x2ticlabels(1) linecolor "#FFFF0000" notitle
在最新版本的Gnuplot(link)中,可以添加透明度,在这种特殊情况下,您希望为线条颜色设置完全透明度,以使点不可见。可以使用十六进制符号#AA RRGGBB设置颜色格式和透明度,其中AA(alpha)控制颜色的透明度,对于完全透明度,您想要FF]>等效于< [255,请注意我的线条颜色是RED,但是因为它是完全透明的,所以我们看不到它。Plot with Full Transparency
y=0
处有一些要点,因为您告诉gnuplot这样做。当然,您也可以通过完全透明的点来实现“不可见”的含义,但是更简单的方法可能是在NaN
处“绘制”这些点,即无处。