Я использую python 3.7.7 и matplotlib 3.3.1 в сообществе Pycharm 2020.1
Я хочу нарисовать фигуру и позволить пользователю решить, нравится ли ему эта фигура, введя некоторый консольный ввод. Это означает, что мне нужна библиотека matplotlib для работы в интерактивном режиме. Я пробовал следующие много подходов, которые нашел в Интернете:
только plt.ion ()
import matplotlib.pyplot as plt
plt.ion()
plt.plot([1,2,3])
plt.show()
print('is this fig good? (y/n)')
x = input()
if x=="y":
plt.savefig(r'C:\figures\papj.png')
else:
print("big sad")
это приводит только к пустому окну рисунка. Если вы щелкнете по этому окну слишком часто, оно перестанет отвечать.
plt.show (block = False)
import matplotlib.pyplot as plt
plt.plot([1,2,3])
plt.show(block=False)
print('is this fig good? (y/n)')
x = input()
if x=="y":
plt.savefig(r'C:\figures\papj.png')
else:
print("big sad")
Тот же результат, что и раньше.
plt.draw ()
import matplotlib.pyplot as plt
plt.plot([1,2,3])
plt.draw()
print('is this fig good? (y/n)')
x = input()
if x=="y":
plt.savefig(r'C:\figures\papj.png')
else:
print("big sad")
Это ничего не делает, просто отображает вопрос в консоли.
plt.ion () и plt.draw ()
import matplotlib.pyplot as plt
plt.ion()
plt.plot([1,2,3])
plt.draw()
print('is this fig good? (y/n)')
x = input()
if x=="y":
plt.savefig(r'C:\figures\papj.png')
else:
print("big sad")
Опять же, пустое окно рисунка, которое вылетает после нажатия на него.
ion () и block = False
import matplotlib.pyplot as plt
plt.ion()
plt.plot([1,2,3])
plt.show(block=False)
print('is this fig good? (y/n)')
x = input()
if x=="y":
plt.savefig(r'C:\figures\papj.png')
else:
print("big sad")
Опять же, пустое окно рисунка, которое вылетает после нажатия на него.
Что я могу сделать, чтобы он работал правильно?