Я потратил несколько часов, пытаясь понять, как заставить интерактивные графики работать на 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.