Gnuplot:我可以在某些数据点处拉伸 x 轴吗?

Gnuplot: can I make x axis stretch at some data points?

我有时间点向量,将在 x 轴上表示。
这些时间点有的出现在某个星座,有的时间点出现在不同的星座。
我想将第一个符号的 x 缩放到 y 为 x=1:y=1 .
我想将第二个符号的 x 缩放到 y 为 x=2:y=1
这样我就会有一个 x 轴在某些点拉伸的图表“x unit = double space 例如 2 cm for 1 hour”并在其他点收缩“x unit= single space e.g. 1 cm for 1 小时
我有一个与时间数组具有相同索引的数组,其中 1 个用于单个 space 时间点,2 个用于双 space 时间点。
我可以在 gnuplot 中绘制这个吗? 更新:
如果在 gnuplot 中不可能,是否有任何其他库可以通过控制每个点的轴刻度来绘制点?“一个数组用于每个点的轴刻度,另一个用于轴数据??”
更新:
数据 points:100 50 70 130 40 20 30 50 88 93
点 width:1 1 1 2 2 2 2 1 1 1
时间滴答:1 2 3 4 5 6 7 8 9 10
这些时间刻度应该在 x 轴上,但 space 在 1 2 3 之间作为 1 个单位,例如1 cm 和 space 在 4 5 6 7 之间作为 2 个单位 例如2 cm 然后 8 9 10 之间为 1 个单位
数据点将是 1000000,随机 1 和 2 个单位部分。
我不知道怎么画他们的图。

我仍然不确定我是否完全理解,但这就是我想你可能想要的。 因此,您的事件只是从 1 开始计数,... N。这些事件不会按常规时间步长发生。有时 1 秒后,有时 2 秒后。为了绘制它,您只需要总结所有这些时间差异,例如在变量 t.

代码:

### add variable stepsize for x-values
reset session

$Data <<EOD
 1   1  100 
 2   1   50
 3   1   70
 4   2  130
 5   2   40
 6   2   20
 7   2   30
 8   1   50
 9   1   88
10   1   93
EOD

set grid x

plot t=0 $Data u (t):(t=t+,) w lp pt 7 notitle
### end of code

结果:

加法:

这是试图理解您的意思的另一种尝试。 这就是我现在从你的问题和评论中了解到的。 你有事件,它们之间的距离如下: 1,2,3之间的距离应为1,3,4,5,6,7之间的距离应为2,7,8,9,10之间的距离应为1.

# event    1   2   3   4   5   6   7   8   9   10
# distance   1   1   2   2   2   2   1   1   1

代码:(可以跳过plot命令的第二行,只是为了显示事件编号)

### add variable stepsize for x-values
reset session

$Data <<EOD 
 1   1  100
 2   1   50
 3   1   70
 4   2  130
 5   2   40
 6   2   20
 7   2   30
 8   1   50
 9   1   88
10   1   93
EOD

set grid x
set offsets 0,1,0,0

plot t=0 $Data u (t=t+):3 w lp pt 7 notitle, \
     t=0 ''    u (t=t+):3:1 w labels offset 0,1 notitle
### end of code

结果: