[英]Cutting off right hand points using matplotlib.pyplot or numpy
我有一些要用Python腳本繪制的數據。 在x值約為2000之后,數據基本上是白噪聲,需要從圖中刪除。 我可以手動從文件中刪除,但是從長遠來看,通過自動化它會容易得多。 我更喜歡使用numpy或matplotlib進行此操作。 快速文檔掃描后,我找不到任何簡單的解決方案。
如果相反,您想在x之后硬截取數據本身,但x並非總是2000,則可以使用最初在此處找到的find most code: 在numpy數組中查找最近的值
然后將數據x和y分配給新變量,例如:
import numpy as np
def find_nearest(array, value):
array = np.asarray(array)
idx = (np.abs(array - value)).argmin()
return [idx]
Cutoff_idx = find_nearest(x, 2000.)
Xnew = x[:Cutoff_idx]
Ynew = y[:Cutoff_idx]
如果您的x值是連續的,則可以執行以下操作:
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(1, 3001)
y = np.sin(x/250)
plt.plot(x, y)
plt.show()
plt.plot(x[0:2000], y[0:2000])
plt.show()
請注意,當x大於2000時,第二個圖將截斷值。如果x數組不連續,則可能需要使用邏輯索引。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.