我有一个使用x刻度的数据集:
0.1 0.4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
但是我需要抽签均匀地排列,而不是将0.1和0.4弯腰。我目前正在使用,
set xtics 1
set xtics add (0.1)(0.4)
但是,该空间分别对应于其余比例尺0.1和0.4。我已将指向我当前问题的虚拟数据集上载的tinypic附加了链接。
http://tinypic.com/r/2zfolxf/7
最佳答案
当前状态
据我所知,您可以使用tic在gnuplot中执行以下操作(至少与您的问题相关):
如果您只想在2之类的值之后简单设置tic,这对您来说很有意义
set xtics 2, 1
set xtics add ("0.1" 0, "0.4" 1)
这会将标签0.1和0.4引入x刻度,其中实际值为0和1
但是,您不能修改图形的实际绘图。如果在您的数据中,则说明
0.1 100
0.4 150
1 200
2 300
然后gunplot将对其进行相应绘制。
可能的解决方法
解决方法如下所示:
plot "Data.dat" every 1::2 w l, "" every 1::1::2 using ($1<magic>):($2)
magic指定您要对第一列进行的一些代数运算。
一切都是允许的,如果您的值是常数,则可以指定一个多项式,该多项式经过点0、1和2,输入为0.1、0.4和1,如下所示:
y = -1.85*x^2 + 4.26*x - 1.4
例
假设您有以下数据文件:
0.1 0.41
0.4 0.03
1 0.97
2 0.74
3 0.05
4 0.15
5 0.11
6 0.60
7 0.76
8 0.25
然后,您可以像下面这样将前两个条目“重新排列”到x位置-1和0:
plot "Data.dat" every 1::2 w l, \
"" every 1::0::2 using (-1.85*$1**2 + 4.26*$1 - 1.4):($2) w l
通过一些tic-labeling和线条样式设置,它应该看起来像您想要的。
我希望我了解您的需求,并希望您可以利用我的建议。
切里奥
卧龙