试试下面的。您可以从数据集创建字符串并将它们与宏一起使用(请参阅help macros)。也许有更简单的方法可以达到相同的结果(我想可能还有一种方法可以将 x 轴设置为 log2 轴,那么您应该自动获得 1、2、4、8、16、32 抽动。)
代码:
### setting special tics semi-automatically
reset session
$Data <<EOD
1, 10
2, 15
4, 20
8, 5
EOD
set datafile separator comma
set table $Dummy
plot myXtics=myYtics='' $Data using \
(myXtics = myXtics.($0==0?'':',').strcol(1), \
myYtics = myYtics.($0==0?'':',').strcol(2)) w table
unset table
set offsets 1,1,1,1
set xtics (@myXtics)
set ytics (@myYtics)
set grid xtics, ytics
plot $Data u 1:2 w p pt 7 notitle
### end of code
结果:
加法:
如果您使用以 2 为底的对数 x 轴,您将自动获得抽动,注意:1、2、4、8 是等距的。然而,set offsets 似乎只适用于线性轴(一个错误?)。见How to get (automatic) offsets in logscale plots?。
代码:
### setting special tics semi-automatically
reset session
$Data <<EOD
1, 10
2, 15
4, 20
8, 5
EOD
set datafile separator comma
set logscale x 2
set offsets 1,1,1,1 # offsets works on linear y-axis but not on log x axis
set xrange [0.75:12]
set grid xtics, ytics
plot $Data u 1:2 w p pt 7 notitle
### end of code
结果: