Python Matplotlib条形图在x轴上采用连续值

Python Matplotlib条形图在x轴上采用连续值,python,matplotlib,Python,Matplotlib,每当我尝试使用matplotlib绘制条形图时,它都会创建这些值的连续分布,而不是使用在x轴中传递的离散值进行绘制 前 plt.bar([1,2,3,4],[100332,34123]) x轴是连续分布,而不是离散值 我如何让它取而代之的是离散值?我已经阅读了文档,没有找到任何选项 我发现的唯一解决方法是将值强制转换为字符串 编辑:为什么我需要指定XTICK才能工作,为什么matplotlib不将它们视为离散值?只需指定记号标签即可。下面的代码 x=[1,2,3,4] plt.bar(x[10

每当我尝试使用matplotlib绘制条形图时,它都会创建这些值的连续分布,而不是使用在x轴中传递的离散值进行绘制

plt.bar([1,2,3,4],[100332,34123])

x轴是连续分布,而不是离散值

我如何让它取而代之的是离散值?我已经阅读了文档,没有找到任何选项

我发现的唯一解决方法是将值强制转换为字符串


编辑:为什么我需要指定XTICK才能工作,为什么matplotlib不将它们视为离散值?

只需指定记号标签即可。下面的代码

x=[1,2,3,4]
plt.bar(x[100332,34123],勾选标签=x)
plt.show()
导致


您可以看到这一点。

听起来您需要更改XTICK。您也可以尝试将
[1,2,3,4]
x数组输入更改为字符串,然后matplotlib将x值视为分类数据,因此是离散的。我还没有传递XTICK或Ytick。我需要指定它们吗?这是我找到的解决方法,将它们转换为字符串。我仍然很好奇为什么会发生这种情况,因为我还不能重现这个问题,而Ben评论说,绘制后只需执行
plt.xticks([1,2,3,4)
)。