我正在繪制名為 test.csv 的 CSV 檔案中的資料,該檔案的值如下:
X Y Yerrmin Yerrmax
13.629119553139 0.13237415706937 0.115879894547257 0.14748971609137
55.3872849395824 0.14385506424916 0.13237415706937 0.153752686711682
208.442201941724 0.144454558978827 0.129650059586552 0.158954011478447
544.589674426085 0.151216201294351 0.13515549098632 0.168483298334671
968.990798410664 0.149341335862913 0.135718731529535 0.164331292710806
1305.01533678836 0.146268074690858 0.13073290613871 0.162970154348788
1596.62602210143 0.14748971609137 0.13292580681435 0.165016119097793
在我的代碼中,我有:
testK = np.genfromtxt("test.csv", delimiter=",", names=["X", "Y", "Yerrmin", "Yerrmax"])
testK_yerr=[testK['Yerrmin'], testK['Yerrmax']]
plt.errorbar(testK['X'], testK['Y'], yerr=testK_yerr, fmt='sk')
plt.savefig("test_plot.pdf")
這給出了情節:
我找不到為什么誤差條按乘法因子縮放的問題
uj5u.com熱心網友回復:
您的 Yerrmin 值應該小于您希望誤差線向下延伸到的資料點的數量。因此,當您的第一個 Y 點為 0.13 時,Y 誤差將向下延伸到 0.13-0.12 = 0.01,這就是它所在的位置。如果 Yerrmin 實際上是最小 Y 值,即您希望誤差帶從 0.115 擴展到 0.147,那么您需要使新值傳遞給函式,例如
testK_yerr=[testk['Y']-testK['Yerrmin'], testK['Yerrmax']-testK['Y']]
而是通過那些
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/461693.html
標籤:Python matplotlib 误差线
