Matplotlib条形图的可视化输出-Python

Matplotlib条形图的可视化输出-Python,python,matplotlib,Python,Matplotlib,我正在为4列生成一些图,其中列为主要索引 我面临的问题是底部显示的列名。这是有问题的,有两个原因,第一个原因是可能有几十个这样的列,因此图形看起来很混乱,可能会向右延伸太远。第二,他们被切断了(尽管我相信这是可以修复的) 我更喜欢将列名垂直列在“MAX_COL_LENGTH”当前所在的框中,并使每列的栏具有不同的颜色 有什么想法我会调整这个或建议,使之更好 for col in ['DISTINCT_COUNT', 'MAX_COL_LENGTH', 'MIN_COL_LENGTH', 'NUL

我正在为4列生成一些图,其中列为主要索引

我面临的问题是底部显示的列名。这是有问题的,有两个原因,第一个原因是可能有几十个这样的列,因此图形看起来很混乱,可能会向右延伸太远。第二,他们被切断了(尽管我相信这是可以修复的)

我更喜欢将列名垂直列在“MAX_COL_LENGTH”当前所在的框中,并使每列的栏具有不同的颜色

有什么想法我会调整这个或建议,使之更好

for col in ['DISTINCT_COUNT', 'MAX_COL_LENGTH', 'MIN_COL_LENGTH', 'NULL_COUNT']:
    grid[['COLUMN_NM', col]].set_index('COLUMN_NM').plot.bar(title=col)
    plt.show()

在这种情况下,您可以逐个打印点,并为每个点设置标签名称:

gs = gridspec.GridSpec(1,1)
fig = plt.figure(figsize=(5, 5))
ax = fig.add_subplot(gs[:, :])
data = [1,2,3,4,5]
label = ['l1','l2','l3','l4','l5']
for n,(p,l) in enumerate(zip(data,label)):
    ax.bar(n,p,label=l)
ax.set_xticklabels([])
ax.legend()
这是上述代码的输出: