目前,我可以使用以下代码将数据绘制为两条曲线。from numpy import *import mathimport matplotlib.pyplot as pltt = [1,2,4,8] raw_1 = [0.02, 0.02, 0.3, 0.4] raw_2 = [0.6, 0.7, 0.2, 0.3]plt.plot(t, raw_1, color='r', marker='o') plt.plot(t, raw_2, color='b', marker='o') plt.show()然而,我希望使x轴非线性。例如,只有 1、2、4、8 可见,并且它们的 x 刻度间隔相同的距离。如图所示:我对 Matplotlib 不太熟悉,有人可以告诉我如何生成带有上述 x 轴的图吗?我尝试了 plt.xscale('log'),但得到了以下图:两个相邻节点之间的距离看起来不错,但 xticks 看起来不太好。
1 回答
米脂
TA贡献1836条经验 获得超3个赞
range()为此,针对任意等距数字(使用 很方便)进行绘图,然后将标签替换为实际标签:
t = [1,2,4,8]
raw_1 = [0.02, 0.02, 0.3, 0.4]
raw_2 = [0.6, 0.7, 0.2, 0.3]
x = range(len(t))
plt.plot(x, raw_1, color='r', marker='o')
plt.plot(x, raw_2, color='b', marker='o')
plt.xticks(x,t)
plt.show()
添加回答
举报
0/150
提交
取消