2012-07-19 103 views
1

我的數據文件看起來像這樣堆積曲線與gnuplot的

A 20120301 4 
A 20120302 3 
B 20120301 5 
B 20120302 6 
C 20120303 5 

除了有不僅僅是A,B,C等等,我想創建一個gnuplot的(類似於「堆積柱狀圖」一個疊式圖從gnuplot demos

20120301 = (A:4 + B:5) 
20120302 = (A:3 + B:6) 
20120303 = (C:5) 

到目前爲止,我無法說服情節此格式的讀取數據。我是否爲此重新安排了數據文件?或者有沒有辦法讓gnuplot以這種格式讀取數據?

+0

我很難找出你想要從你的描述堆疊的元素。每行是否對應一堆盒子?例如'B:5'堆積在20120301專欄中的'A:4'上?如果是的話,這封信的意義是什麼(A,B,C)。這是否應該對應於盒子的顏色? – mgilson 2012-07-19 12:44:01

+0

@mgilson是的,你說得對。 A-C是類型(因此是顏色)。在我的示例中,您應該看到3個堆疊的柱子,總高度爲9,9,5。前兩列應由兩個框A和B組成。 – tcurdt 2014-05-05 09:40:45

回答

1

我覺得我已經成功地打敗它成一種形式,將工作(你將需要至少4.3的gnuplot):

set boxwidth 0.75 absolute 
set style fill solid 1.00 border lt -1 
set datafile missing '-' 
set style histogram rowstacked 
set style data histograms 
set yrange [0:] 
plot for [i=2:4] 'test.dat' u i,'' u (0.0):xtic(1) notitle 

和這裏的數據文件test.dat

#date  A B C 
#missing data is marked by a minus sign 
20120301 4 5 - 
20120302 3 6 - 
20120303 - - 5 

唷!當涉及到直方圖時,我從來沒有像gnuplot那麼好過。希望這會對你有用(對你的數據文件的改變感到抱歉)。

+0

感謝您的努力@mgilson。使用面向列的方法,我也得到了它的工作(在提出問題之前:)不改變數據格式就是問題的關鍵。 – tcurdt 2012-07-23 23:22:21

+0

@tcurdt - 那麼在那種情況下,我會說不可能;)。 (但我很想被證明是錯誤的)。 – mgilson 2012-07-24 01:29:23