在GNUPlot中将非均匀xtics排列为统一的比例

时间:2011-06-10 19:17:42

标签: gnuplot scale

我有一个使用x-scale的数据集:

  

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。我已经附上了一个链接到我上传的我的虚拟数据集与我当前的问题。

http://tinypic.com/r/2zfolxf/7

1 个答案:

答案 0 :(得分:3)

当前状态

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

  • 您可以指定显示的抽动的开始增量结束
    如果您希望简单地设置2之后的抽搐(如

    ),这对您来说是有意义的
    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

然后枪支将相应地绘制它。

可能的解决方法

解决方法可能如下所示:

  1. 2 向上绘制法线图。
  2. 用前面的两个值做一些hackery东西:

    plot "Data.dat" every 1::2 w l, "" every 1::1::2 using ($1<magic>):($2)
    
  3. 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
    

    通过一些抽头标签和线条样式设置,它应该看起来与您所追求的完全一样。

    我希望我明白你的意思,并且你可以利用我的建议 Cherio
    Woltan