gnuplot-如何绘制不可见点,以便仅用于标记x轴
我在数据文件gnuplot-如何绘制不可见点,以便仅用于标记x轴,gnuplot,Gnuplot,我在数据文件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
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时生成点。因为我不能(或我不知道如何)使用
(因为它在
x
坐标$3-0.2
处绘制标签,而不是在$3
处绘制标签,这是我需要的),我被迫再绘制两个虚拟图,但它们会生成点,我不知道如何有效避免这种情况,除了使用3:(0):xticlabels(-1)通过dat1移动绘图范围之外: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()的最新版本中,可以添加透明度,在这种特殊情况下,您希望将线颜色设置为完全透明,以便点不可见。颜色格式和透明度可以使用十六进制符号#AARRGGBB设置,其中AA(alpha)控制颜色的透明度,以实现所需的完全透明度FF,相当于255,请注意,我的线条颜色是红色的,但因为它是完全透明的,所以我们看不到它。
我不太明白您想对数据做什么,但是如果您想使x轴上的点不可见,可以将最后两个绘图的线颜色设置为完全透明:
dat1 using 3:(0):xticlabels(1):x2ticlabels(1) linecolor "#FFFF0000" notitle, \
dat2 using 3:(0):xticlabels(1):x2ticlabels(1) linecolor "#FFFF0000" notitle
在Gnuplot()的最新版本中,可以添加透明度,在这种特殊情况下,您希望将线颜色设置为完全透明,以便点不可见。颜色格式和透明度可以使用十六进制符号#AARRGGBB设置,其中AA(alpha)控制颜色的透明度,以实现所需的完全透明度FF,相当于255,请注意,我的线条颜色是红色的,但因为它是完全透明的,所以我们看不到它。
我对你的问题的理解如下:你有一些数据,你想在x上移动+/-0.2,但相应的tic不应该移动。 你就快到了。当然,在
y=0
上也有点,因为您告诉gnuplot这样做。
“不可见”的含义当然也可以通过完全透明的点来实现,但更简单的方法可能是在NaN
处“绘制”点,即无处
代码:
### plotting data with offset and tic without offset
reset session
set colorsequence classic
$Data1 <<EOD
A 36 1
A 35 1
B 48 2
B 37 2
B 15 2
C 36 3
C 25 3
EOD
$Data2 <<EOD
A 16 1
A 25 1
B 38 2
B 45 2
C 36 3
EOD
set offsets 0.5,0.5,0.5,0.5
set link x2
set x2tics
plot $Data1 u ($3-0.2):2 w p pt 7 t 'title 1', \
$Data2 u ($3+0.2):2 w p pt 7 t 'title 2', \
$Data1 using 3:(NaN):xtic(1):x2tic(1) notitle, \
$Data2 using 3:(NaN):xtic(1):x2tic(1) notitle
### end of code
####打印带偏移的数据和不带偏移的tic
重置会话
设置颜色序列经典
$Data1我对你的问题的理解如下:你有一些数据,你想在x上移动+/-0.2,但相应的tic不应该移动。
你就快到了。当然,在y=0
上也有点,因为您告诉gnuplot这样做。
“不可见”的含义当然也可以通过完全透明的点来实现,但更简单的方法可能是在NaN
处“绘制”点,即无处
代码:
### plotting data with offset and tic without offset
reset session
set colorsequence classic
$Data1 <<EOD
A 36 1
A 35 1
B 48 2
B 37 2
B 15 2
C 36 3
C 25 3
EOD
$Data2 <<EOD
A 16 1
A 25 1
B 38 2
B 45 2
C 36 3
EOD
set offsets 0.5,0.5,0.5,0.5
set link x2
set x2tics
plot $Data1 u ($3-0.2):2 w p pt 7 t 'title 1', \
$Data2 u ($3+0.2):2 w p pt 7 t 'title 2', \
$Data1 using 3:(NaN):xtic(1):x2tic(1) notitle, \
$Data2 using 3:(NaN):xtic(1):x2tic(1) notitle
### end of code
####打印带偏移的数据和不带偏移的tic
重置会话
设置颜色序列经典
$Data1问题解决了吗?问题回答了吗?如果您对任何答案有任何反馈,我们将不胜感激!问题解决了吗?问题回答了吗?如果您对任何答案有任何反馈,我们将不胜感激!