如何在Matplotlib中指定X刻度及其标签的数量?

时间:2013-05-16 10:24:50

标签: python matplotlib

我正在使用 Matplotlib pyplot.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中完成?

1 个答案:

答案 0 :(得分:2)

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

换句话说:

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

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