【发布时间】:2018-08-14 11:49:03
【问题描述】:
情况: 我有一个非常小的数据集,其中包含年份列和指示二进制列的事件成功或失败。
我从计算成功和失败事件的二进制列创建了两个系列。
成功的事件:
success_count = hungary_data[hungary_data['success']==1]["iyear"].value_counts().sort_index()
success_count
失败的事件:
fail_count = hungary_data[hungary_data['success']==0]["iyear"].value_counts().sort_index()
fail_count
问题: 我的问题是我不能在折线图上显示这两个系列,也不能在堆积条形图上显示。
这是我的折线图代码和输出:
plt.plot(success_count, label = "Sikeres támadások")
plt.plot(fail_count, label = "Sikertelen támadások")
plt.ylim(ymin=0)
plt.legend(loc=2)
plt.show()
如您所见,失败的计数根本不显示(但是有一个图例),年份以一半的增量显示(这也是错误的)。
我的堆叠条尝试也失败了:
plt.bar([1989,1990,1991], success_count, label = "Sikeres támadások")
plt.bar([1989,1990,1991], fail_count, label = "Sikertelen támadások")
plt.legend(loc=2)
plt.show()
- 我的代码应该如何显示成功和失败事件的折线图(如果一年内没有失败尝试,它应该为零)?
- 为什么年份显示为半增量(年份不应该有小数),有什么解决方案可以避免这种情况?
- 如果出现堆叠条,我的代码应该是什么样子?
提前感谢您的帮助!
【问题讨论】:
-
在您的第一个图中,您只有一个
fail_count的数据点,即 (1991, 1)。因此,除非您使用可见标记,否则它在绘图上不可见。在第一个情节中,您可以尝试同时使用标记和线条来突出显示数据点。为了避免半整数,一种方法是手动将xticks设置为plt.xticks(range(1989,1993)) -
Sandeep Kadapa,我正在尽力坚持你提到的例子。拜托,请指出我的帖子有什么问题。问题是可重现的,我坚持使用最少的代码并且它是完整的。这个帖子到底有什么问题?请告诉我。我把那个链接读了 50 遍。您能否也坚持您的评论是最少的、完整的和可验证的?就像让我知道哪个部分不符合规则......谢谢你......所以......很多!
-
图片总是一个坏主意。你有代码。你为什么不复制你的代码?发布代码图片就像尝试喝一杯牛奶的图片。
-
为什么只在未来?为什么不是现在?为什么不把这个问题的图片换成代码呢?
标签: python pandas dataframe matplotlib plot