为什么我在绘制分类变量时会出现 matplotlib 错误?

Saa*_*lam 7 python matplotlib

我觉得很愚蠢,但我似乎无法修复此错误或在网上找到任何解决方案。为什么无论我如何尝试使用 matplotlib 绘制它,我都会不断收到以下错误?

例如,即使下面的代码也会给我同样的错误 -

names = list(fig1['day'])
values = list(fig1['count'])
fig, axs = plt.subplots(figsize=(25, 10))
axs.bar(names, values, color='plum')
Run Code Online (Sandbox Code Playgroud)

matplotlib.category:使用分类单位绘制可解析为浮点数或日期的字符串列表。如果这些字符串应绘制为数字,请在绘制之前转换为适当的数据类型。

在此输入图像描述

更新:我找到了解决方案 - https://discourse.matplotlib.org/t/why-am-i-getting-this-matplotlib-error-for-plotting-a-categorical-variable/21758/2

Tom*_*zyk 1

实际上正确的解决方案是这样的,因为更通用,不仅适用于日历对象:

fig, ax = plt.subplots()

names = ['Monday', 'Tuesday', 'Wednesday']
# you may try with: 
# names = ['1111', '2222', '3333']

# This variable is a range (numerical values) and we pass it for number of ticks on X axis:
rln = range(len(names))

values = [230, 112, 12]
ax.bar(rln, values)

# Finally, we are setting ticks labels on X axis:
plt.xticks(rln, names)
plt.show()
Run Code Online (Sandbox Code Playgroud)