Добавление другого набора данных в обновляемое окно matplotlib с другим масштабом с правой стороны.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Добавление другого набора данных в обновляемое окно matplotlib с другим масштабом с правой стороны.

Сообщение Anonymous »

Я вызываю функцию из своего кода:

Код: Выделить всё

# main_code.py
from helper import plot
# ... bunch of other code ...
def update_matplot():
plot_scores = [] # Scores for each game
plot_mean_scores = [] # Average scores over a rolling window
# ... bunch of other code ...
plot_scores.append(score)
total_score += score
mean_score = total_score / agent.n_games
plot_mean_scores.append(mean_score)
plot(plot_scores, plot_mean_scores)
Приведенный выше код выполняется каждый раз, когда ведется игра, а сюжет(plot_scores,plot_mean_scores) вызывает всплывающее окно matplotlib и обновляется каждый раз при вызове функции. Работает отлично.
Вот helper.py с функциейplot():

Код: Выделить всё

import matplotlib.pyplot as plt
from IPython import display

plt.ion()

def plot(scores, mean_scores):
display.clear_output(wait=True)
display.display(plt.gcf())
plt.clf()
plt.title('Game Data')
plt.xlabel('Number of games')
plt.ylabel('Score')
plt.plot(scores)
plt.plot(mean_scores)
plt.ylim(ymin=0)
plt.text(len(scores)-1, scores[-1], str(scores[-1]))
plt.text(len(mean_scores)-1, mean_scores[-1], str(mean_scores[-1]))
plt.show()
plt.pause(0.1)
Я изменил файл main_code.py, включив в него время игры. Вот обновленная версия:

Код: Выделить всё

# main_code.py
from helper import new_plot
# ... bunch of other code ...
def update_matplot():
plot_scores = [] # Scores for each game
plot_mean_scores = [] # Average scores over a rolling window
plot_times = [] # Time for each game
plot_mean_times = [] # Average times over a rolling window
# ... bunch of other code ...
plot_scores.append(score)
total_score += score
mean_score = total_score / agent.n_games
plot_mean_scores.append(mean_score)
# New game time code:
plot_times.append(single_game_time)
mean_time = total_game_times / num_games
plot_mean_times.append(mean_time)
# New function call
new_plot(plot_scores, plot_mean_scores, plot_times, plot_mean_times)
У меня возникли проблемы с функцией new_plot(). Я хочу использовать правую сторону для определения времени, так как масштаб другой, но не могу понять, как это сделать.

Код: Выделить всё

import matplotlib.pyplot as plt
from IPython import display

plt.ion()

def new_plot(scores, mean_scores, times, mean_times):
#
# Help!! :)
#
Кажется, я не могу понять, как заставить это работать. Кажется, что каждый раз при вызове функции new_plot() появляется новое пустое окно matplotlib.

Подробнее здесь: https://stackoverflow.com/questions/793 ... nt-scale-o
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»