有没有一种简单的方法可以用 matplotlib/numpy 绘制许多变量的累积图?
我正在考虑这样的图表http://atlassian.wpengine.netdna-cdn.com/jira/cumulative-flow-diagram.png。
例如,我有数据a=[0,3,6]
,b=[0,3,4]
这应该成为计数图
[(0, a=1, b=1), (3, a=2, b=2), (4, a=2, b=3), (6, a=3, b=3)]
。因此没有分箱,而是所有 x 值都得到一个点,特定变量的计数低于该值。a 和 b 值应相互堆叠。
我可以想象如何使用 bisect 实现复杂的交错预处理,但我看不到一个简单的解决方案。
有什么建议么?
编辑:累积计数的另一种解释:我有多个带有 x 值的数据行。例如a=[0,3,6]
, b=[0,3,4]
,c=[1, 7]
我需要每个数据行的图表。图的 x 坐标的可能值是所有数据行值的并集。在这里[0,1,3,4,6,7]
。
对于这些总 x 值中的每一个,特定行的 y 值将是该数据中有多少值低于 x 坐标。因此,对于 x 坐标,x=[0,1,3,4,6,7]
我会得到ya=[1,1,2,2,3,3]
, yb=[1,1,2,3,3,3]
, yc=[0,1,1,1,1,2]
. 当然我会使用堆积图:)