我想知道如何在单独的图形中绘制数据(而不是在一个窗口中绘制多个图形)。问题是我想可视化不同X范围内的数据。例如:
import numpy as np
import pandas as pd
import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
X=np.linspace(0,100,num=1000)
Y=X**2-X
fig=plt.figure()
plt.plot(X,Y)
matplotlib.pyplot.xlim([0, 50])
plt.show()
fig=plt.figure()
plt.plot(X,Y)
matplotlib.pyplot.xlim([50, 100])
plt.show()
在这里,我得到两个单独的数字。但是我反复对相同的数据执行了plt.plot()。如果数据量大,可能会花费一些时间。
答案 0 :(得分:1)
您可以限制要绘制的数据范围,而不仅限于查看间隔。为此,您可以引入一个条件并过滤数组以根据该条件进行绘制。
import numpy as np
import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
X=np.linspace(0,100,num=1000)
Y=X**2-X
ranges = [[0, 50], [50, 100]]
for r in ranges:
cond = (X >= r[0]) & (X <= r[1])
fig=plt.figure()
plt.plot(X[cond],Y[cond])
plt.xlim(r)
plt.show()