2016-03-30 3 views
1

私は、理想的にはヒストグラムまたは線グラフとしてプロットしたいと思っている、かなり単純なデータを持っていますが、その方法を理解できません。ここ複数の可変時間データをプロットする

は、いくつかのサンプルデータである:Tは時間である。この例では

T Item Temp 
1 Leaf 10 
1 Car 12 
2 Leaf 14 
3 Car 23 
4 Car 29 
4 Leaf 30 

、アイテムは、アイテム名及び温度は、この時点で商品の温度です。

私はこれをグラフ化しようとするといくつかの問題を持っている:

  • 項目を行としての代わりに、暗黙的にゼロがあります
  • 列として追跡されます。

私のデータは以下の形式にあった場合、私にプロットするのが容易になるだろうが、残念ながらそれはこの方法でフォーマットされていない:

T Car Leaf 
1 12 10 
2 0 14 
3 24 0 
4 29 30 

は前者の例をプロットするgnuplotのできるのか、私がやります2番目のものを理解するために提供されたデータをより簡単に再フォーマットするためにプリプロセッサを書く必要がありますか?

答えて

0

これはgnuplotで完全に行うことができると思います。これはあなたを助ける必要があります。より多くの情報

ため

names=("Car Leaf") 
plot for [name in names] 'test.txt' u 1:((stringcolumn(2)eq name?$3:0)) smooth freq with lp title name 

タイプhelp smoothhelp stringcolumnを自動的にしたい場合は、このsystemコマンドを使用することができますnames変数を埋める:boxesため

names=system("awk '{print $2}' test.txt | tail -n +2 | sort | uniq") 

をここに提案があります:

set boxwidth 0.5/(words(names)) 
plot for [i=0:words(names)] 'test.txt' u ($1-0.5-i/(words(names)+1.0)):((stringcolumn(2)eq word(names,i)?$3:0)) smooth freq with boxes title word(names,i) 

これはあなたが得るべきである:

enter image description here

関連する問題