Python: рисовать несколько фигур в разных окнах (те же данные, но с разным диапазоном X) - PullRequest
0 голосов
/ 14 ноября 2018

Интересно, как построить данные на отдельных фигурах (не на нескольких фигурах в одном окне). Проблема в том, что я хочу визуализировать данные в разных диапазонах 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 () для одних и тех же данных неоднократно. Если данные большие, может потребоваться время.

1 Ответ

0 голосов
/ 14 ноября 2018

Вы можете ограничить диапазон данных для построения графика, а не только интервал просмотра.Для этого вы можете ввести условие и отфильтровать массивы для построения по этому условию.

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()

enter image description here

...