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问题解决了吗?问题回答了吗?如果您对任何答案有任何反馈,我们将不胜感激!问题解决了吗?问题回答了吗?如果您对任何答案有任何反馈,我们将不胜感激!