如何修改Matplotlib代码实现按X轴步长10匹配对应数据绘图
问题原因
现有代码调用plot()方法时仅传入了y轴数值data1,matplotlib会默认将数据对应的x轴坐标设为从0开始的连续整数(0、1、2、3、4),和你期望的x轴值[10,20,30,40,50]没有对应上,才会出现显示异常。
修改方案
只需要在调用plot()时,将你定义的x轴坐标x_ax作为第一个参数传入即可,调整后的完整代码如下:
import matplotlib.pyplot as plt import numpy as np fig,axs = plt.subplots(figsize=(10,10)) data1 = [5, 6, 18, 7, 19] x_ax = [10, 20, 30, 40, 50] y_ax = [0, 5, 10, 15, 20] # 传入x轴坐标实现对应关系 axs.plot(x_ax, data1, marker="o") axs.set_xticks(x_ax) axs.set_xticklabels(labels=x_ax,rotation=45) axs.set_yticks(y_ax) axs.set_yticklabels(labels=y_ax,rotation=45) axs.set_xlabel("X") axs.set_ylabel("Y") axs.set_title("Name") # 展示图表 plt.show()
修改后即可实现10对应5、20对应6、30对应18、40对应7、50对应19的显示效果,x轴步长符合要求。
内容的提问来源于stack exchange,提问作者hanugm
相关产品推荐
相关产品推荐

