Matplotlib: как установить текущий показатель?
Это, надеюсь, простой вопрос, но я не могу понять это на данный момент. Я хочу использовать matplotlib, чтобы показать 2 цифры, а затем использовать их в интерактивном режиме. Я создаю цифры с помощью:
import matplotlib
import pylab as pl
f1 = pl.figure()
f2 = pl.figure()
и может использовать MATLAB-подобный интерфейс pyplot для построения и рисования обеих фигур. С помощью
current_figure = pl.gcf()
Я могу определить текущую активную цифру для интерфейса pyplot, в зависимости от того, на какой фигуре я нажал. Теперь я хочу нарисовать что-то на первую цифру с интерфейсом pyplot, но текущая цифра может быть любой из них. Так что-то вроде
pl.set_current_figure(figure)
или любое обходное решение? (Я знаю, что я могу использовать объектно-ориентированный интерфейс, но для интерактивных материалов просто использование команд, таких как plot (x, y), намного приятнее)
Ответы
Ответ 1
Вы можете просто установить цифру f1
как новую текущую цифру с помощью:
pl.figure(f1.number)
Другой вариант - дать имена (или числа) цифрам, которые могут помочь сделать код более удобным для чтения:
pl.figure("Share values")
# ... some plots ...
pl.figure("Profits")
# ... some plots ...
pl.figure("Share values") # Selects the first figure again
Фактически, цифры "числа" могут быть строками, которые, возможно, более явны, чем простые числа.
PS: эквивалент пистолета pylab.figure()
равен matplotlib.pyplot.figure()
.
Ответ 2
Дайте каждой цифре число:
f1 = pl.figure(1)
f2 = pl.figure(2)
# use f2
pl.figure(1) # make f1 active again