Gnuplot:自动放置x2 tic标签

Gnuplot:自动放置x2 tic标签,gnuplot,Gnuplot,我有一些数据要在gnuplot中绘制,看起来像这样: 1.08 1 4.8 1.53 2 5.9 2.11 3 5.1 2.60 4 6.0 这并不重要,第一列是遗传算法的运行时间,第二列是生成数,第三列是平均适应度 如果我使用plot datafile.dat以1:3的比例绘制它,并使用线进行绘制,它看起来很好,TIC的间距适当。但是,虽然我希望x-tics标记时间,但我希望x2-tics标记生成编号。使用带有行的1:3:x2ticlabels(2)绘制数据文件.dat时,这很容易做到,但对

我有一些数据要在gnuplot中绘制,看起来像这样:

1.08 1 4.8
1.53 2 5.9
2.11 3 5.1
2.60 4 6.0
这并不重要,第一列是遗传算法的运行时间,第二列是生成数,第三列是平均适应度

如果我使用
plot datafile.dat以1:3的比例绘制它,并使用线
进行绘制,它看起来很好,TIC的间距适当。但是,虽然我希望x-tics标记时间,但我希望x2-tics标记生成编号。使用带有行的1:3:x2ticlabels(2)绘制数据文件.dat时,这很容易做到,但对于x2轴,它会为数据文件中的每一行添加一个记号,而不是自动选择适当数量的tic

我的完整数据文件有数千个条目,这会在图形顶部留下一条黑色实线,将tic隔开,并在标签放置的上方留下一条更大的黑色实线。即使我尝试使用
set x2tics 100
手动告诉gnuplot在图形上放置tics的频率,它仍然会为每个条目显示tics。有办法解决这个问题吗?显然,我更喜欢显示哪些tic是自动选择的,但是如果我必须手动选择的话,那就好了。完整的gnuplot配置文件非常基本,只是:

set logscale y 10
set x2tics
plot datafile.dat using 1:3:x2ticlabels(2) with lines

这里有一个解决方案,它只为数据文件中的每一行添加一个标签

plot 'test.dat' u 1:3:x2ticlabels(int($0)%2==0?stringcolumn(2):'')
一件有点有趣的事情是,抽搐与分数并不完全一致。我还不知道为什么。对于数千个点,您可能不太可能注意到,但是对于您的示例数据文件中的4个点,这是显而易见的


不幸的是,它仍然为数据文件中的每一行在轴上绘制tic<代码>设置x2tics比例0将使这些tics完全消失。

谢谢,效果很好。关于对齐问题,在我的文件中,第一个条目在t=2.5,最后一个条目在t=22.5,gnuplot从0-25缩放x轴。我注意到代数似乎被放置在整个图中,(因此“0”被放置在t=0的上方,而不是2.5),这可能提供了一些线索来解释为什么它们没有正确排列。手动设置xrange会使其不那么明显,但我也不确定原因。@user1535823--我认为如果您显式地将两个范围设置为相同的内容,对齐问题就会消失:
set xrange[1:10];设置x2range[1:10]
,但我不是正数,我不明白为什么它们不能自动缩放到相同的范围。