如何生成x轴不按顺序排列的Matplotlib图?
我想画一些y数据,但x轴的数字顺序不是正常的排列:
比如说:
y = [100, 99, 93, 88, 85, 43]
x = [0, 5, 4, 3, 2, 1]
plot(x, y)
我希望x轴显示为0, 5, 4, 3, 2, 1,按照这个顺序均匀分布,并且在上面有对应的y值。
我该怎么做呢?
1 个回答
7
我会把 x
的 'values' 用作 x 轴的标签。比如说:
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
y = [100, 99, 93, 88, 85, 43]
xt = [0, 5, 4, 3, 2, 1]
ax.plot(y)
ax.set_xticklabels(xt)
fig.savefig("out.png")
这样就会产生
更一般来说,你可以把 x
的坐标设置成你想要的任何值,然后相应地设置 xticks
和 xticklabels
。