【发布时间】:2016-10-28 19:28:02
【问题描述】:
我想创建一个堆叠条形图,每个条形的堆叠数量不同。如果我的数据都是同质的,则堆叠条形的 general example 可以正常工作,但我想要看起来像所示示例的东西。
事实证明,这在 Matplotlib 中完全是另一个层次(虽然使用一些类似 Excel 的工具仍然很容易,如您所见)。有没有在 Matplotlib 中创建这种情节的便捷方法?谢谢。
【问题讨论】:
标签: python matplotlib
我想创建一个堆叠条形图,每个条形的堆叠数量不同。如果我的数据都是同质的,则堆叠条形的 general example 可以正常工作,但我想要看起来像所示示例的东西。
事实证明,这在 Matplotlib 中完全是另一个层次(虽然使用一些类似 Excel 的工具仍然很容易,如您所见)。有没有在 Matplotlib 中创建这种情节的便捷方法?谢谢。
【问题讨论】:
标签: python matplotlib
我猜你是直接在 matplotlib 中工作,但是现在绘制数据,特别是为了快速查看可以很容易地用 pandas 完成,按照你的例子我们得到:
import matplotlib.pyplot as plt
import matplotlib
matplotlib.style.use("ggplot")
import pandas as pd
import numpy as np
df = pd.DataFrame([pd.Series([10,20,40,10,np.nan]), pd.Series([20,10,30,10,10]), pd.Series([30,40, np.nan, np.nan, np.nan])], index=["Bar1", "Bar2", "Bar3"])
df.plot.bar(stacked=True)
plt.show()
【讨论】: