如何从 matplotlib/seaborn 绘制一个条形图,其中一个 int 列表作为值,一个字符串列表作为 x 轴?

How do I plot a bar graph from matplotlib/seaborn with an int list as value and a string list as x axis?

我有一个整数列表 arr=[1,2,3,4] 和一个字符串列表 list(df) (其中 returns 数据帧的列 headers 列表)。我想绘制一个条形图,这样 x 轴标签取自字符串列表,它们的值取自整数列表。

例如,如果 list(df) returns [a,b,c,d],将会有一个在 x 轴上带有相应标记的 a、b、c、d 的图形y轴分别为1,2,3,4的值。

我想不出办法做到这一点。请帮忙。

这似乎不是一件直观的事情。我按照示例 here 创建了这段代码:

import matplotlib.pyplot as plt
vals=[1,2,3,4,5]
inds=range(len(vals))
labels=["A","B","C","D","E"]

fig,ax = plt.subplots()
rects = ax.bar(inds, vals)
ax.set_xticks([ind+0.5 for ind in inds])
ax.set_xticklabels(labels)

并得到这个输出:

在代码的前半部分,我只是设置了变量。 在下半部分,我调用 plt.subplots() 以便我可以获得轴 (ax) 句柄以将刻度线和矩形放入其中。设置刻度线决定了标签的位置,所以我将它们向右移动了 0.5,否则它们将位于每个框的最左边。