使用条件中的matplotlib中的3个变量进行绘图

时间:2019-01-12 06:11:19

标签: python pandas matplotlib

嗨,我有如下数据。

sample code

我需要动态编写代码来输入我的年份,并在月份和消息数量之间进行绘图。我的数据中的2016年只有6个月,其余时间不存在。

我尝试将年份设置为索引并尝试绘图。

dff[dff.index == 2015].plot(marker='*')

但是我做的情节不是必需的。

1 个答案:

答案 0 :(得分:1)

使用boolean indexingquery进行过滤,然后使用plot和参数xy

year = 2014

df[df['year'] == year].plot(x='month', y='Number of messages', marker='*')

或者:

df.query("year == @year").plot(x='month', y='Number of messages', marker='*')

另一种方法是以Series列为索引的图Month

df = df.set_index('month')
df.loc[df['year'] == year, 'Number of messages'].plot(marker='*')

df.set_index('month').query("year == @year")['Number of messages'].plot(marker='*')