【问题标题】:Shifting data with gnuplot candlesticks使用 gnuplot 烛台移动数据
【发布时间】:2012-05-02 14:26:30
【问题描述】:

几个数据文件的样子

1 342 345 564 
2 254 543 432
3 341 988 343
4 454 324 342
...

都具有相同的第一列。我打算使用 gnuplot 烛台来绘制数据。这是我正在使用的功能:

plot 'file1.txt' using 1:3:2:6:5:xticlabels(7) with candlesticks title '1' whiskerbars,
'file2.txt' using 1:3:2:6:5:xticlabels(7) with candlesticks title '2' whiskerbars lt 1 linecolor 3, 
'file3.txt' using 1:3:2:6:5:xticlabels(7) with candlesticks title '3' whiskerbars lt 1 linecolor 7

但是,这些行是重叠的,我希望 file1.txt 数据从例如开始。 10,file2.txt数据从12开始,file3.txt数据从14开始。增量应该是10。这样,我希望获得不同文件的行分组,并在它们之间进行分隔。

如何做到这一点? gnuplot 适配或输入文件适配都是可以接受的(后者意味着我首先自动将一个文件的第一列更改为 10 的倍数,将另一个自动更改为 10 的倍数加 2...)

【问题讨论】:

  • 我很难理解你想要什么。首先,您的数据文件只有 4 列,但您在使用规范中最多引用 y。第二个“每个增量应该是 10”,但是你说 file1 从 10 开始,file2 从 12 开始......?最后,是在 x 轴还是 y 轴上?

标签: ubuntu plot gnuplot


【解决方案1】:

如果您想操作第一列,可以使用using 轻松完成。 例如:

 plot 'datafile' using 1:2, \
      'datafile' using (10*$1):2, \
      'datafile' using ((10+2)*$1):2

...

第一个图的 x 值等于第一列,第二个图的 x 值等于 10*first_column,第三个图的 x 值等于 12*first_column...

【讨论】:

  • 谢谢。我真正需要的是 ($1+2):3:2:6:5:xticlabels(7)
  • @user506901 -- 很高兴为您提供帮助。当您了解 Gnuplot 时,它可以做一些非常漂亮的事情。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-12
相关资源
最近更新 更多