【问题标题】:How to plot a bar graph of days of the week on top of a line graph of different values at different dates python如何在不同日期python的不同值的折线图顶部绘制一周中的几天的条形图
【发布时间】:2019-03-24 19:52:37
【问题描述】:

所以我正在处理关于捐赠的分析。我有 9 月的日期和该日期的捐款总额,即 9 月 17 日 1000 美元、9 月 18 日 2000 美元等。我将所有这些信息都保存在数据框中。现在我想看看星期几和捐赠的金额之间是否有关系。为此,我想在我为捐赠和日期图表制作的图表顶部制作一个条形图,该条形图在一周中的每一天(周一至周五)具有不同的颜色。

我该怎么做?我已经有了包含日期、捐赠金额、星期几的数据框。我怎么画出来?我可以使用 pandas 和 seaborn

【问题讨论】:

标签: python pandas matplotlib plot seaborn


【解决方案1】:

正如 cmets 中已经提到的:我们需要您的数据(帧)样本以及您想要实现的目标的更准确描述。
然而,在那之前我第一个猜测的提示是:

df = df.set_index('date')

fig, axs = plt.subplots(2)
df.amount.plot(ax=axs[1])
df.groupby('weekday').mean().plot(kind='bar', ax=axs[0])

【讨论】:

    【解决方案2】:

    列出 7 种颜色并使用它

    color_x = ["white", "red", "yellow", "blue", "purple", "green", "black"]
    ax = df[b].plot.bar(label=b, color = color_x)
    

    示例:

    (当然不要用白色:),就这样与图像对应)

    要获取特定日期的特定颜色,您可以这样做:

    df['WEEKDAY'] = pd.to_datetime(df['date']).dt.dayofweek
    firstday = df.iloc[0]['WEEKDAY']  # monday = 0
                    if  firstday == 0:
                        color_x = [COLOR_weekday, COLOR_weekday, COLOR_weekday, COLOR_weekday, COLOR_weekday, COLOR_weekend, COLOR_weekend]
                    elif firstday == 1:
                        color_x = [COLOR_weekday, COLOR_weekday, COLOR_weekday, COLOR_weekday, COLOR_weekend, COLOR_weekend, COLOR_weekday]
                   (etc)
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-28
      • 1970-01-01
      • 1970-01-01
      • 2016-07-09
      • 1970-01-01
      • 2020-05-06
      • 1970-01-01
      相关资源
      最近更新 更多