Сильно отредактировано:
Я пытаюсь использовать matplotlib для построения и анализа поведения агента в симуляции, которая запускается с использованием pygame.Я попытался построить в Matplotlib, используя значения пикселей, которые Pygame использует для рисования изображения.Проблема в том, что представление pygame и графики matplotlib немного отличаются, белые и цветные пятна в верхней половине не совпадают, и я не могу понять, почему.Следующий код создает график matplotlib, используя значения пикселей, которые использует pygame:
import matplotlib.pyplot as plt
patch_positions = [(401.0, 212.0),
(266.0, 455.0),
(77.0, 293.0),
(131.0, 104.0),
(347.0, 563.0),
(104.0, 579.0),
(482.0, 104.0),
(563.0, 185.0),
(563.0, 536.0)]
reward_positions = [(131.0, 158.0),
(293.0, 482.0),
(455.0, 185.0)]
patch_colors = [(0.627, 0.627, 0.627),
(0, 1, 0),
(0, 0, 1),
(1, 0, 0),
(0.2, 0.8, 1),
(0.4, 0.2, 0),
(0.3, 0, 0.6),
(0, 0.4, 0),
(1, 0.2, 0.6)]
fig, ax = plt.subplots(figsize=figsize, dpi=100)
ax.set_facecolor("black")
ax.set_xlim(left=0, right=640)
ax.set_ylim(bottom=0, top=640)
for pos,col in zip(patch_positions,patch_colors):
patch = plt.Circle(pos, 27, color=col)
ax.add_artist(patch)
for pos in reward_positions:
patch = plt.Circle(pos, 14, color=(1,1,1))
ax.add_artist(patch)
ax.invert_yaxis()
plt.show()