如何获得自动生成的gnuplot抽签之间的距离?

伊斯玛

我正在使用gnuplot进行大量绘图。由于每个图的数据范围(对于x和y轴)都是可变的,因此我需要让gnuplot自动设置范围和tic。但是,我需要在图下放置一个定义的网格,其中水平线各为1/8单位,垂直线为1/4单位。当我让gnuplot决定放置抽芯的位置时,我不知道两个抽芯之间的距离(以单位为单位),因此,我不知道我应该在m {x | y}抽芯中进行细分的数量所需的输出。

例如:如果我每两个单元都有一个ytic,则需要“设置mytics 8”。如果每个单元都有一个ytic,则需要“设置mytics 4”。

那么,是否有某种方式可以获取自动放置的tic之间的距离?甚至是绘制抽动的数量?

克里斯多夫

要获取自动放置的tic之间的距离,请使用以下代码(另存为ticstep.gp):

xr = abs(max_value - min_value)
power = 10.0 ** floor(log10(xr))
xnorm = xr / power # approximate number of decades
posns = 20.0 / xnorm;

if (posns > 40) {
  tics = 0.05
} else {
  if (posns > 20) {
    tics = 0.1
  } else {
    if (posns > 10) {
      tics = 0.2
    } else {
      if (posns > 4) {
        tics = 0.5
      } else {
        if (posns > 2) {
          tics = 1
        } else {
          if (posns > 0.5) {
            tics = 2
          } else {
            tics = ceil(xnorm)
          }
        }
      }
    }
  }
}
ticstep = tics * power

这应该等效于内部gnuplot代码来确定ticstep(请参见axis.c,第677行)

仅获取ticstep,您可以使用stats获取相应的数据值:

stats 'file.txt' using 1 noutput
max_value = STATS_max
min_value = STATS_min
load 'ticstep.gp'
print ticstep

要获得绘制的抽线的数量,您需要自动扩展的轴限制(除非使用set autoscale fix)。为此,您可以使用unknown终端进行绘制以获取例如GPVAL_Y_MAXGPVAL_Y_MIN

set terminal push # save current terminal
set terminal unknown
plot 'file.txt' using 1
set terminal pop # restore terminal
max_value = GPVAL_Y_MAX
min_value = GPVAL_Y_MIN
load 'ticstep.gp'

print sprintf('ticstep = %f', ticstep)
numtics = int((xr / ticstep) + 1)
print sprintf('numtics = %d', numtics)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何获得屏幕顶部和孩子之间的布局之间的距离

来自分类Dev

如何使用x,y坐标自动计算networkx中邻居之间的欧式距离并找到最小生成树

来自分类Dev

如何获得TextView的视图和文本之间的左距离?

来自分类Dev

如何获得矩形中心和中间点之间的距离

来自分类Dev

Gnuplot:如何仅在顶部没有抽签的情况下绘制Xtics

来自分类Dev

Doctrine:如何在合并后获得自动生成的 id?

来自分类Dev

如何获得n个点之间距离最大的m对点

来自分类Dev

如何在Python上使用Mesa和Networkx获得节点之间的距离?

来自分类Dev

如何获得当前位置和下一个当前位置之间的距离

来自分类Dev

如何在单元格之间获得更均匀的垂直距离?

来自分类Dev

如何获得元组和元组列表之间的最近距离?

来自分类Dev

如何使用自动布局获取iOS中2个元素之间的动态距离

来自分类Dev

如何在自动布局中使两个视图之间的距离可变

来自分类Dev

如何自动设置约束以使 UIViews 之间的距离一致?

来自分类Dev

如何存储地点之间的距离?

来自分类Dev

如何缩小文字之间的距离

来自分类Dev

如何在递归自动生成的Makefile之间传递变量

来自分类Dev

如何生成n个点并将它们之间的距离限制为大于给定值?

来自分类Dev

如何获得两点之间的距离并沿线移动一个点以到达另一点

来自分类Dev

CLBeacon:我如何获得IBeacons的距离?

来自分类Dev

如何获得物体到空间映射的距离

来自分类Dev

如何获得和矩阵而不是距离

来自分类Dev

如何获得以米为单位的距离

来自分类Dev

如何自动增加最大值和重要性条之间的距离并在中间有重要性标签?

来自分类Dev

如何调整onFocus自动滚动距离?

来自分类Dev

如果socketIO生成的ID是自动生成的,如何在两个用户之间建立通信?

来自分类Dev

如何显示Pymol中残基之间的距离

来自分类Dev

如何增加DiagrammeR中节点之间的距离

来自分类Dev

PHP MySQL如何计算行之间的距离?

Related 相关文章

  1. 1

    如何获得屏幕顶部和孩子之间的布局之间的距离

  2. 2

    如何使用x,y坐标自动计算networkx中邻居之间的欧式距离并找到最小生成树

  3. 3

    如何获得TextView的视图和文本之间的左距离?

  4. 4

    如何获得矩形中心和中间点之间的距离

  5. 5

    Gnuplot:如何仅在顶部没有抽签的情况下绘制Xtics

  6. 6

    Doctrine:如何在合并后获得自动生成的 id?

  7. 7

    如何获得n个点之间距离最大的m对点

  8. 8

    如何在Python上使用Mesa和Networkx获得节点之间的距离?

  9. 9

    如何获得当前位置和下一个当前位置之间的距离

  10. 10

    如何在单元格之间获得更均匀的垂直距离?

  11. 11

    如何获得元组和元组列表之间的最近距离?

  12. 12

    如何使用自动布局获取iOS中2个元素之间的动态距离

  13. 13

    如何在自动布局中使两个视图之间的距离可变

  14. 14

    如何自动设置约束以使 UIViews 之间的距离一致?

  15. 15

    如何存储地点之间的距离?

  16. 16

    如何缩小文字之间的距离

  17. 17

    如何在递归自动生成的Makefile之间传递变量

  18. 18

    如何生成n个点并将它们之间的距离限制为大于给定值?

  19. 19

    如何获得两点之间的距离并沿线移动一个点以到达另一点

  20. 20

    CLBeacon:我如何获得IBeacons的距离?

  21. 21

    如何获得物体到空间映射的距离

  22. 22

    如何获得和矩阵而不是距离

  23. 23

    如何获得以米为单位的距离

  24. 24

    如何自动增加最大值和重要性条之间的距离并在中间有重要性标签?

  25. 25

    如何调整onFocus自动滚动距离?

  26. 26

    如果socketIO生成的ID是自动生成的,如何在两个用户之间建立通信?

  27. 27

    如何显示Pymol中残基之间的距离

  28. 28

    如何增加DiagrammeR中节点之间的距离

  29. 29

    PHP MySQL如何计算行之间的距离?

热门标签

归档