显示数字而不是文本的python条形图

显示数字而不是文本的python条形图,python,matplotlib,Python,Matplotlib,我试图从数据框中创建一个带有matplotlib的简单条形图,但是数字显示在x轴上,而不是数据框列中的文本 import numpy as np import pandas as pd import scipy.stats as stats import matplotlib.pyplot as plt EI_levels = ["very low","low","medium","high","very high"] #generate dataframe of values EI = pd.

我试图从数据框中创建一个带有matplotlib的简单条形图,但是数字显示在x轴上,而不是数据框列中的文本

import numpy as np
import pandas as pd
import scipy.stats as stats
import matplotlib.pyplot as plt
EI_levels = ["very low","low","medium","high","very high"]
#generate dataframe of values
EI = pd.DataFrame({'level': np.random.choice(EI_levels,p = [0.05, 0.05, 0.2, 0.4, 0.3],size=500)})
#generate contingency table of counts
EI_df = pd.DataFrame(EI.level.value_counts().reset_index())
EI_df.columns = ['level', 'count']
EI_df.set_index('level')
#Generate bar chart
ax = EI_df[['level', 'count']].plot(kind='bar', title ="Emotional Intelligence",figsize=(15, 10))
ax.xticks = (EI_df.level, ["very low","low","medium","high","very high"])
plt.show()
您需要调用将记号标签设置为文本值

ax = EI_df[['level', 'count']].plot(kind='bar', title ="Emotional Intelligence")
ax.set_xticklabels(EI_df.level)
plt.show()

如何使标签与实际计数值相匹配?当我运行代码时,它只是将标签添加到x轴,但不会将它们链接到x轴values@MattP-我已经更新了我的答案。我误解了你的代码,认为你想要标签,因为它们在列表中。代码现在按照标签在EI_df.level列中的顺序放置标签。