Matplotlib: как установить текущий показатель? - PullRequest
71 голосов
/ 02 ноября 2011

Надеюсь, это простой вопрос, но я не могу понять его сейчас.Я хочу использовать matplotlib, чтобы показать 2 фигуры, а затем использовать их в интерактивном режиме.Я создаю фигуры с помощью:

import matplotlib
import pylab as pl

f1 = pl.figure()
f2 = pl.figure()

и могу использовать интерфейс Pyplot, похожий на MATLAB, для построения и рисования на обеих фигурах.С помощью

current_figure = pl.gcf()

я могу определить текущую активную фигуру для интерфейса pyplot, в зависимости от того, какую фигуру я щелкнул. Теперь я хочу нарисовать что-то на первой фигуре с помощью интерфейса pyplot, но текущая фигура может бытьлюбой из них.Так есть что-то вроде

pl.set_current_figure(figure)

или какой-нибудь обходной путь?(Я знаю, что могу использовать объектно-ориентированный интерфейс, но для интерактивных вещей просто лучше использовать такие команды, как plot (x, y))

Ответы [ 2 ]

77 голосов
/ 03 ноября 2011

Вы можете просто установить цифру 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 : эквивалент Pyplot pylab.figure()matplotlib.pyplot.figure().

14 голосов
/ 03 ноября 2011

Дайте каждой фигуре число:

f1 = pl.figure(1)
f2 = pl.figure(2)
# use f2
pl.figure(1) # make f1 active again
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...