在GNUPlot中将非均匀XTIC按均匀比例排列

在GNUPlot中将非均匀XTIC按均匀比例排列,gnuplot,scale,Gnuplot,Scale,我有一个使用x标度的数据集: 0.1 0.4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 19 20 但是我需要抽搐均匀地排成一行,而不是把0.1和0.4卷到角落里。我现在用, set xtics 1 set xtics add (0.1)(0.4) 但与比例的其余部分相对应的空间分别为0.1和0.4。我已经附加了一个链接到我上传的带有当前问题的虚拟数据集的tinypic 当前状态 据我所知,您可以在gnuplot中使用tics执行以下操作(至少与您的问

我有一个使用x标度的数据集:

0.1 0.4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 19 20

但是我需要抽搐均匀地排成一行,而不是把0.1和0.4卷到角落里。我现在用,

set xtics 1
set xtics add (0.1)(0.4)
但与比例的其余部分相对应的空间分别为0.1和0.4。我已经附加了一个链接到我上传的带有当前问题的虚拟数据集的tinypic

当前状态 据我所知,您可以在gnuplot中使用tics执行以下操作(至少与您的问题相关):

  • 您可以指定显示的TIC的开始、增量和结束。
    如果您希望简单地将tics设置为2 like之后的值,那么这对您来说是有意义的

    set xtics 2, 1
    
  • 您可以做的另一件事是将显式tic标签添加到某些值,如

    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::0::2 using (-1.85*$1**2 + 4.26*$1 - 1.4):($2) w l
  • 从2向上绘制法线图
  • 使用以下方法对前两个值进行黑客攻击:

    plot "Data.dat" every 1::2 w l, "" every 1::1::2 using ($1<magic>):($2)
    
    例子 假设您有以下数据文件:

    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标签和线条样式设置,它看起来应该和你想要的一模一样

    我希望我了解你的意图,希望你能利用我的建议。
    切里奥

    沃尔坦

    我不清楚你到底想做什么。是否希望0.1和0.4 tic对齐,就像它们是值1和2,但显示为0.1和0.4一样?要么澄清你想要什么,要么查看xtics文档。我想问的是,是否有办法(如果有,如何安排)将x轴刻度的0.1和0.4与轴刻度的其余部分对齐。为了清楚起见,我希望0.1和0.4在轴上有一个位置,就好像它们是整数一样(与其余的数字等距排列),就好像0.1是-1,0.4是0,这样图表将从“-1”(0.1,以防混淆)。唯一需要注意的是,我不能简单地更改数字并“假装”它们的意思是0.1和0.4。我需要在图表上画出的点也在这些位置上。我自己计算出来的,但是你的帖子本身就很有帮助。谢谢你的回复!