2012-07-19 102 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