當沒有指定座標軸限制時,matplotlib選擇默認值作爲好的圓形數字,低於和高於要繪製的列表中的最小值和最大值。Python - matplotlib座標軸限制近似的ticker位置
有時我的數據中有異常值,我不希望它們包含在選擇軸時。我可以檢測到異常值,但我不想實際刪除它們,只是讓它們超出了圖的範圍。我已經嘗試將軸設置爲不包括異常值的列表中的最小值和最大值,但這意味着這些值恰好位於軸上,並且圖的邊界與滾動點不一致。
有沒有辦法指定軸限制應該在一定的範圍內,但讓matplotlib選擇一個合適的點?
例如,下面的代碼產生了很好的曲線圖與自動設定爲(0.140,0.165)的y軸限制:
from matplotlib import pyplot as plt
plt.plot([0.144490353418, 0.142921640661, 0.144511781706, 0.143587888773, 0.146009766101, 0.147241517391, 0.147224266382, 0.151530932135, 0.158778411784, 0.160337332636])
plt.show()
在數據和設置引入異常值後手動限制,y軸限制被設置爲略低於0.145並且略高於0.160--幾乎不整齊和整齊。
from matplotlib import pyplot as plt
plt.plot([0.144490353418, 0.142921640661, 0.144511781706, 0.143587888773, 500000, 0.146009766101, 0.147241517391, 0.147224266382, 0.151530932135, 0.158778411784, 0.160337332636])
plt.ylim(0.142921640661, 0.160337332636)
plt.show()
有沒有辦法告訴matplotlib要麼設置限制時忽略離羣值或軸設定爲「高於0.160337332636」下面0.142921640661「和,但讓它決定的適當的位置?我不能簡單地將數字四捨五入,因爲我所有的數據集都發生在不同的數量級上。
這不是一個理想的解決方案,因爲我想仍然表明存在異常值。我更喜歡它被繪製爲像我的第二個例子,但有更好的軸限制。 – thornate 2013-05-15 04:58:15
另外,現在我看着它,y軸限制還沒有設置正確。理想情況下,他們應該是0.140到0.165。 – thornate 2013-05-15 05:50:15