我從一些數據點繪製一條曲線:如何用matplotlib繪製f(x)作爲x走向無窮大?
points = [[0.0, 0.0], [1, 3], [3, 5]]
...我希望它達到,也就是說,Y = 10爲x去無窮。換句話說,額外的「點」來追加將是:[float('inf'), 10]
有沒有辦法告訴matplotlib
繪製曲線的最後一部分的漸近行爲?
Matplotlib無視float('info')
,所以我想應該有另一種方式來做到這一點。
我從一些數據點繪製一條曲線:如何用matplotlib繪製f(x)作爲x走向無窮大?
points = [[0.0, 0.0], [1, 3], [3, 5]]
...我希望它達到,也就是說,Y = 10爲x去無窮。換句話說,額外的「點」來追加將是:[float('inf'), 10]
有沒有辦法告訴matplotlib
繪製曲線的最後一部分的漸近行爲?
Matplotlib無視float('info')
,所以我想應該有另一種方式來做到這一點。
你不能繪製無限的函數,因爲它不是一個數字。我認爲實現所需效果的唯一方法是使用一個斷開的軸,並將數據點繪製爲任意大的數字。一個例子如何做破碎的陰謀is available from the official matplotlib site.
基本思想是創建兩個邊界巧妙刪除的邊界,以便看起來像一個單一的情節,然後添加一些花哨的對角線,使其看起來像一個傳統的「破」情節。通過代入足夠多的數字(使曲線看起來正確),您可以將自己的無窮大數據點繪製在其自己的子圖中。然後,只需將tick重新標記爲無窮大(ax.set_xticks([large_number])
ax.set_xticklabels(['\infty']
),假設ax
是僅有無窮遠點的第二個情節),並且您在營業!
我最近使用上述示例的一個修改後的形式來繪製一個點「在無窮遠處」。我有這樣做的代碼,但它充滿了對我的具體數據的引用,所以它可能對你有幫助,就像官方的例子。
可能的重複[如何處理與Matplotlib的漸近線/不連續](http://stackoverflow.com/questions/2540294/how-to-handle-an-asymptote-discontinuity-with-matplotlib) – jonrsharpe
是的,我讀它,但我沒有得到任何三個答案。我如何將它們應用於我的問題? –
'matplotlib'不會繪製無限值('np.inf'或'float('inf')',因爲這沒有意義!您可以嘗試使用大但非無限數字,例如'sys。 maxsize'。 – jonrsharpe