Я новичок в кодировании, и в данный момент я пытаюсь закодировать приложение, которое отслеживает движение из симуляции и визуализирует движение в окне графика.
Кажется, что команда перерыва не работает.
Вот обновленный код с предложением ответа @ bf-g ниже:
def handle_close(evt):
raise SystemExit('Closed figure, exit program.')
fig = plt.figure()
fig.canvas.mpl_connect('close_event', handle_close)# Definition der figure
while True:
plt.clf() # vorherige Plots clearen
for i in range(0, int(alpha_max), 5):
plt.plot(Drehachse_x + Radius*np.cos((i+alpha_0)*np.pi/180), Drehachse_y + Radius*np.sin((i+alpha_0)*np.pi/180), color='red', marker='*', markersize=1)
for i in range(0, int(alpha_max), 2):
plt.plot(Drehachse_x + Radius_Heckklappe*np.cos((i+alpha_0+beta_0+delta)*np.pi/180), Drehachse_y + Radius_Heckklappe*np.sin((i+alpha_0+beta_0+delta)*np.pi/180), color='red', marker='*', markersize=1.5)
alpha = "PATH"
Schwerpunkt_x = "PATH"
Schwerpunkt_y = "PATH"
Spindel_Heck_x = "PATH"
Spindel_Heck_y = "PATH"
x=(Drehachse_x, Schwerpunkt_x)
y=(Drehachse_y, Schwerpunkt_y)
x1=(Spindel_Heck_x, Spindel_Karo_x)
y1=(Spindel_Heck_y, Spindel_Karo_y)
plt.axis('equal')
plt.axis([3100, 3800, 600, 1400])
plt.plot(x,y, color="blue", linewidth=2.0, linestyle="-", marker='o', label='$Heckklappe$')
plt.plot(x1, y1, color="green", linewidth=2.0, linestyle="-", marker='o', label='$Spindel$')
plt.plot(x_g_max, y_g_max, color="orange", linewidth=2.0, linestyle="--", marker='*', label='$Maximal$')
plt.plot(x_g_min, y_g_min, color="red", linewidth=2.0, linestyle="--", marker='*', label='$Minimal$')
plt.legend(loc='upper center', bbox_to_anchor=(0.5, -0.05),
fancybox=True, shadow=True, ncol=5)
plt.pause(0.001)
plt.text(0.35, 0.5, 'Close Me!', dict(size=30))
plt.draw()
Он делает то, что я хочу, но если я пытаюсь закрыть окно графика, он просто продолжает открываться, пока я не закрою программу.