2014-09-04 32 views
4

我有一個圖表,由.txt文件中的數據製成。目前,Matplotlib會將其繪製到我的文件中的最後一個點。我需要它繼續這樣做。我似乎記得某處說某事可以讓一條線路繼續進入無限遠。 (我不是指使用微積分和限制時的無窮大,我只是指屏幕上的一行,直到圖的邊緣。)Matplotlib延續到無窮遠線

現在,我知道如果我有曲線圖,因爲該行會在最後一個數據點之外的角度永遠持續。但是,由於我有一條直線圖,這將是理想的。

有誰知道這是否可能,如果是這樣,如何?我已經做了研究,並且不記得我在哪裏看到了文檔條目,說我可以做到這一點,所以如果有人能夠闡明這一點,我會非常感激。

回答

3

從一個到哈克的比例,這是相當哈克,但你可以問matplotlib什麼情節的當前範圍

import matplotlib.pyplot as plt 

plt.plot([0,10], [0,10]) 
plt.axis() 

回報:

(0.0, 10.0, 0.0, 10.0) 

這是超級笨重,但是可以計算出最後兩點的線的方程,然後找出該線與邊界框相交的位置。然後畫出從最後一點到BB的一條線。

編輯:

新想法,稍不笨重。延長最後兩點的線條,然後將軸線設回原來的位置。

import numpy 
import matplotlib.pyplot as plt 

X = [0, 1, 2] 
Y = [4, 6, 4] 

plt.plot(X,Y) 
axes = plt.axis() 
plt.plot([X[-2],X[-2]+1000*(X[-1]-X[-2])], [Y[-2],Y[-2]+1000*(Y[-1]-Y[-2])]) 
plt.xlim([axes[0], axes[1]]) 
plt.ylim([axes[2], axes[3]]) 
plt.show() 
+0

我可以,是的,但我寧願讓它自動做一些事情。當我說「我有一張圖」時,它是一張三條直線的圖。另外,我可能會更改一些控制繪製點的X和Y座標的變量。我希望有更簡單的東西,比如「plt.plot()。continueIndef」或者其他類似的東西? – CoilKid 2014-09-05 01:49:19

+0

是的,我知道你在做什麼,但matplotlib從根本上只繪製點。 – 2014-09-05 02:03:41

+0

Man ...我不認爲我可以得到一個插件或其他模塊可以幫助嗎? – CoilKid 2014-09-05 02:09:28