2017-05-08 76 views
0

我有2只列出了我作爲繪製一條線:繪製一條線一個特定的點,matplotlib

x = [ 0.1, 0.3, 0.5, 0.7, 0.9] 
y = [ 4.0, 3.0, 2.0, 3.0, 4.0] 
plt.plot(x,y) 

然後,我要繪製一個標記,例如'x',在該列上未指定的點處,例如

x = 0.2 

有沒有一個簡單的方法來做到這一點?

+1

使用numpy的插值函數獲取y值,然後再調用'plot' –

+0

這很好用,謝謝! – Ale

回答

0

「線」的公式爲y = 5 * abs(x - 0.5) + 2。因此,您可以繪製使用的東西一點像

plt.plot(0.2, 3.5, 'x') 

哪裏3.5 = 5.0 * abs(0.2 - 0.5) + 2.0

或者,您可以使用@ PaulH的解決方案並使用numpy.interp(0.2, x, y)。如果你的數據不是真正的絕對值函數,除了本地,這可能是一個更好的通用解決方案。

+0

我的功能在每個循環中都會改變,我只需要繪製一個點,這樣numpy的解決方案似乎可以實現。我猜如果有一個python函數可以取得你的xy值並且提出一個可以解決它的方程,那麼這個方法也可以。謝謝你的建議! – Ale

+0

@ImportanceOfBeingErnest。習慣的力量。固定。 –