如何让Matplotlib的x轴刻度按数组X的指定顺序显示?
解决方案
要让x轴按X列表的原始顺序显示刻度,你可以通过手动指定x轴的位置和对应标签来实现,具体步骤如下:
- 先用列表的索引作为绘图的x轴位置(保证点的顺序和原列表一致)
- 再用
plt.xticks()方法将索引位置对应到X的元素作为刻度标签
修改后的完整代码:
import matplotlib.pyplot as plt X = [1,5,3,4,2] Y = [10, 14, 11, 9, 10] # 以索引作为x轴位置,确保点的顺序和原列表一致 plt.plot(range(len(X)), Y, 'o') # 设置x轴刻度:位置为索引,标签为X的原始元素 plt.xticks(range(len(X)), X) plt.show()
这样绘制出来的图,x轴刻度会严格按照1、5、3、4、2的顺序显示,同时每个点的y值也会对应到正确的x标签上。
内容的提问来源于stack exchange,提问作者sku
相关产品推荐
相关产品推荐

