目前,我可以使用以下代碼將數據繪制為兩條曲線。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
提交
取消