Не удается заставить работать интерактивную графику matplotlib (если НЕ в режиме Jupyter) - PullRequest
1 голос
/ 07 февраля 2020

Я потратил несколько часов, пытаясь понять, как заставить интерактивные графики работать на MacOS Catalina (графики, которые не блокируют выполнение программы в режиме отладки). Я НЕ работаю в режиме ноутбука Juptyer. Как ни крути ноутбуки Jupyter, это не то, что мне нужно. Мне нужен опыт работы с графиками, сродни работе с графиками в Matlab.

Я был довольно взволнован, когда нашел в документах Matplotlib инструкции по использованию python в качестве основы, а затем по macosx бэкэнд, но это, похоже, не помогает. Я работаю в режиме отладки из кода Visual Studio, который в противном случае, кажется, работает хорошо. Вот код:

import matplotlib 
import numpy as np 

matplotlib.use("macosx") 
plt.ion() 
x = np.linspace(0, 20, 100)  # Create a list of evenly-spaced numbers over the range 
plt.plot(x, np.sin(x))       # Plot the sine of each x point 
plt.show() 
# put a breakpoint on this next line 
y = 5

Если я опускаю вызов plt.ion (), я получаю график, который блокирует выполнение программы, пока я не закрою окно графика, поэтому я не достигну точки останова до сюжет ушел. Если я оставлю вызов функции plot.ion (), я достигну точки останова, но график не отобразится. Как ни странно, в этом случае в доке появляется дополнительный python процесс, как я привык видеть в Spyder, когда делаю то же самое (но в Spyder я действительно вижу сюжет).

Кто-нибудь знает, возможно ли заставить это работать, и если да, то как? У меня есть такие вещи, которые раньше работали со Spyder, но это странно, и у меня есть другие проблемы со Spyder.

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