如何在条形图上清楚地显示每个数据的标题?

问题描述 投票:1回答:1

我有一个阵列

a  = ['Film & Video', 'Fashion', 'Art', 'Games', 'Music', 'Publishing', 'Technology', 'Music', 'Theater',.....'Dance', 'Art', 'Film & Video']

我使用pandas对数组中的字符串进行频率计数以制作绘图

import pandas
from collections import Counter
import matplotlib.pyplot as plt

letter_counts = Counter(a)
df = pandas.DataFrame.from_dict(letter_counts, orient='index')
df.plot(kind='bar')
plt.xlabel('Category')
plt.ylabel('Counts')
plt.title("Successful Categories")

plt.show()

enter image description here

您无法看到我的x轴的标题或长字符串的全名,例如“电影和视频”。我正在寻找一种更好地可视化我的情节的方法。另外,如何删除或编辑图表右上角的框?

python pandas matplotlib plot
1个回答
2
投票

以下是通过旋转刻度标签进行轻微修改的一种方法(有助于降低标签所跨越的垂直高度),隐藏图例并使用紧密布局。我创建了一个示例数据并使用了以下行(仅部分显示了代码)。我用&取代了and

letter_counts = Counter(a)
df = pandas.DataFrame.from_dict(letter_counts, orient='index',columns=['values'])
df.plot.bar(y='values', legend=False)
plt.xticks(rotation=45)
plt.tight_layout()

产量

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.