我正在为一个科学展览项目处理一些数据,我对Pandas和matplotlib/pyplot非常陌生。我目前正在尝试为一些数据制作一个图表(一个条形图),并且已经能够做得很好。我将DataFrame分成两部分:名称和值本身:
data = pd.read_csv('results.csv')
data = data.sort_values(by=['Accuracy'], ascending=False)
accuracy = data['Accuracy']
names = data['Name']
这个很好用。当我画图表的时候,它也很好用:
plt.bar(names, accuracy)
plt.title('Accuracy Below 97%')
plt.ylabel('Accuracy in Percent')
plt.show()
但唯一的问题是,当我这样做时,我的名字太长了,所以它最终成为一种模糊:
我也有大约40个数据点,我知道这可能是太多了,无论如何都无法看到名称,但名称大约30个字符长,所以即使我减少了图表中的数据点数量,它仍然可能不起作用。
所以我假设我会从plt.bar(names, accuracy)
中删除names
,但这会引发错误:TypeError: bar() missing 1 required positional argument: 'height'
所以我意识到我需要一个宽度值,由于数据点的数量是42,我然后尝试:plt.bar(42, accuracy)
但这会产生一个奇怪的图表,我不想要:
所以我的问题是:我如何从图中删除名称,同时保持实际的图不变?
任何帮助都是非常感谢的。谢谢!
2条答案
按热度按时间q8l4jmvw1#
如果你想从图表中删除
xticks
标签,你可以此外,还可以调整x轴限制以完全删除标签。
eblbsuwk2#
这是你想要的,但你可以处理这些与此链接,而不是删除问题。
datetime x-axis matplotlib labels causing uncontrolled overlap