如何在Matplotlib中指定X记号的数量及其标签



我正在使用Matplotlibpyplot.plot()函数绘制一些数据。

数据的X值是整数,但这些数字没有任何意义。例如:

x_vals = [2, 34, 456, 999, 10000]

但是,matplotlib认为这些是实际的X值。它缩放X轴,并在绘图上显示这样的记号:

|
|
|
|
+---+----+----+----+----+
0   2000 4000 6000 8000 10000

我想要的是matplotlib使用X轴盲目绘制,如下所示:

|
|
|
|
+---+----+----+----+
2   34   456  999  10000

也就是说,我希望记号的数量等于我传入的X值的数量。我还希望这些值被盲目地解释,可能是字符串。

如何在Matplotlib中做到这一点?

一种可能的解决方案是沿着x轴绘制range而不是实际的x值,然后手动将标签更改为所需值。

换句话说:

plt.plot(range(len(y_values)), y_values)
plt.gca().xaxis.set_ticklabels(x_values)

其中,在这种情况下,x_values = [2, 34, 10000]

最新更新