Сюжет Python в реальном времени, повторное обновление - PullRequest
0 голосов
/ 02 июля 2018

Я хочу иметь два сюжета (# 1, # 2). Я хочу обновить график № 1 по мере поступления данных, а затем обновить график № 2. После этого я могу вернуться и обновить сюжет № 1. Однако я не могу обновить сюжет № 1. Любая помощь?

Вот мой исходный код.

import matplotlib.pyplot as plt
import numpy as np
a = np.random.random(10)
b = np.random.random(10)

plt.subplot(311)
for i in range (10):
    y = a[i]
    x = b[i]
    plt.scatter(x,y)
    plt.pause(0.05)



plt.subplot(312)
for i in range (10):
    x = a[i]
    y = b[i]
    plt.scatter(x,y)
    plt.pause(0.05)

# update plot #1, but this doesn't work
aa = np.random.random(20)
bb = np.random.random(20)
plt.subplot(311)
for i in range (20):
    y = aa[i]
    x = bb[i]
    plt.scatter(x,y)

plt.show()

1 Ответ

0 голосов
/ 02 июля 2018

plt.subplot для создания новых участков. Если вы хотите получать доступ к различным субплощадкам не только сразу после их создания, выберите

fig, axs = plt.subplots(2)

для создания фигуры сначала со всеми сюжетами. Тогда вы можете построить с

axs[0].plot(...)
axs[1].plot(...)
axs[0].plot(...)

То же самое работает с plt.subplots(nrows, ncols) для 2D-массива графиков. Тогда axs также является 2D-массивом.

Кроме того, plt.subplots имеет очень удобный способ определения общих осей с помощью kwargs sharex и sharey, который может быть одним из ['all', 'row', 'col', 'none'].

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