matplotlib绘制对数坐标轴非常方便,通过如下命令就可以设置:
plt.xscale("log")
但是x轴的坐标以科学计数法显示,不能以取对数前的值显示。有时会导致遮挡、重叠等麻烦事。
为了展示对数关系,但是又让x轴更加直观的显示原先的值,可以如下设置:
# 恢复原先的linear样式
plt.xscale("linear")
ticks = np.log10(X_origin)
plt.xticks(ticks,labels = X_origin.astype(int))
首先,提前对x坐标取对数。
通过xticks中的label变量可以替换坐标轴原定的值为label内的值。
展示效果图: