【问题标题】:Combining stacked bars and total line结合堆叠条和总线
【发布时间】:2016-12-28 18:53:37
【问题描述】:

当给定DataFrame 时,我有一些代码可以生成漂亮的堆叠图和总线。当我将我的 Anaconda 升级到 4.0(pandas 0.18,matplotlib 1.5.1)时,总行停止生产。我似乎无法弄清楚为什么。

这是一些最初可以运行的测试代码。

import pandas as pd
from matplotlib import pyplot as plt

td = pd.util.testing.makeTimeDataFrame(10)
fig = plt.figure()
td.plot(kind='bar',stacked=True, ax=fig.gca())
plt.plot(td.sum(axis=1),'k-',label = 'Total')

目前这只是离开条形图但不添加行。

【问题讨论】:

    标签: python pandas matplotlib anaconda


    【解决方案1】:
    import pandas as pd
    import matplotlib.pyplot as plt
    
    td = pd.util.testing.makeTimeDataFrame(10)
    ax = td.plot(kind='bar', stacked=True)
    ax.plot(ax.get_xticks(), td.sum(axis=1), label='Total')
    plt.legend(loc='best')
    

    pandas/matplotlib 似乎不喜欢每次操作后(稍微)不同的轴/索引。如果您只创建条形图,您会注意到轴默认为日期时间值,而如果您只创建折线图,轴将默认为日期值。这似乎会引起一些潜在的混淆,因此需要您明确使用 ax.get_xticks()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-15
      • 1970-01-01
      • 2022-12-13
      相关资源
      最近更新 更多