我正在使用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中做到这一点?
一种可能的解决方案是沿着x轴绘制range
而不是实际的x值,然后手动将标签更改为所需值。
换句话说:
plt.plot(range(len(y_values)), y_values)
plt.gca().xaxis.set_ticklabels(x_values)
其中,在这种情况下,x_values = [2, 34, 10000]
。