Как сделать расчет на увеличенной площади участка - PullRequest
0 голосов
/ 03 июля 2019

У меня есть график временного ряда вместе с графиком рассеяния сверху, чтобы указать некоторые точки ряда с определенными характеристиками.На ноутбуке Jupyter я использую %matplotlib notebook, чтобы получить график взаимодействия и масштабирование.

Можно ли рассчитать все точки

РЕДАКТИРОВАТЬ : следующий код является фиктивным примером построения радиных данных и маркировки красными точками тех точек, где их значение вышеопределенный порог.

%matplotlib notebook
# generate random data [0, 10]
random_data = np.random.randint(10, size = 20)
#  implement rule --> i.e. check which data point is > 3
index = np.where([random_data > 3])[1]
value = np.where([random_data > 3])[0]

# plot data and mark data point where rule applies
plt.plot(random_data)
plt.scatter(index, random_data[index], c = 'r') 

Это создает график ниже. enter image description here

Можно ли получить результат, который вычисляет красные точки каждый раз, когда яувеличить сюжет

1 Ответ

0 голосов
/ 05 июля 2019

Итак, после долгих поисков я нашел следующее решение.

%matplotlib notebook
# generate random data [0, 10]
random_data = np.random.randint(10, size = 20)
#  implement rule --> i.e. check which data point is > 3
index = np.where([random_data > 3])[1]
value = np.where([random_data > 3])[0]

# plot data and mark data point where rule applies
fig, ax = plt.subplots(1,1)
ax.plot(random_data)
ax.scatter(index, random_data[index], c = 'r') 

global scatter_index
scatter_data = index
def on_xlims_change(axes):
    d1, d2 = axes.get_xlim()
    number_of_points = index[np.where((index > d1 )& (index < d2))].shape[0]
    axes.legend([f'{ number_of_points  } numbers of points in area' ])

# use a maplotlib callback to do the calculation
ax.callbacks.connect('xlim_changed', on_xlims_change)

Идея состоит в том, что вы можете использовать обратный вызов для получения новых пределов осей и фильтрации данных на основе этих пределов. Надежда

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...