在python 3.x版本中使用matplotlib时不显示任何内容

时间:2017-07-10 21:16:17

标签: python python-3.x pandas matplotlib

我想使用以下数据集按小时(0-23)获取在线活动。

示例数据集名为activities。数据集如下所示:

hour activity_counts
00     2
01     30
02     25
03     40
04     10
05     4
06     8
07     10
08     30
09     50
10     100
11     300
12     600
13     340
...
23     780

这是我的代码:

plt.plot(x=activities['hour'], y=activities['activity_counts'],fmt="H")
plt.title("Customer Online Activities by Hour")
plt.xlabel("Hours")
plt.ylabel("Hour Activity")
plt.grid(True)
plt.show()

这样的情节。情节中没有任何内容。

enter image description here

我的代码出了什么问题?

2 个答案:

答案 0 :(得分:3)

问题在于x=y=。名称为xy的{​​{3}}没有任何争议(因此,您使用该名称传递的内容最终会在**kwargs中被忽略),所以请尝试使用没有这些:

plt.plot(activities['hour'], activities['activity_counts'], "H")  # only this line changed
plt.title("Customer Online Activities by Hour")
plt.xlabel("Hours")
plt.ylabel("Hour Activity")
plt.grid(True)
plt.show()

还有一些拼写错误:应使用'activity_counts'代替'activities'

答案 1 :(得分:0)

您可以使用pandas.dataframe.plot

ax = activities.plot(x="hour",y="activity_counts",title="Customer Online Activities by Hour", marker="H")
ax.set_xlabel("Hours")
ax.set_ylabel("Hour Activity")
ax.grid(True)

enter image description here