我在 Pygame 中有一個游戲的 AI,我想創建一個圖表來跟蹤演變。
我只需要 X 軸上的 Gen 和 Y 軸上的點。
我試過這個,但我不知道如何讓它適合游戲的表面,而不是作為一個單獨的視窗彈出(最終會停止游戲)
import matplotlib.pyplot as plt
plt.plot(Generation=[], Points=[])
plt.title('Points per Generation')
plt.xlabel('Generation')
plt.ylabel('Points')
plt.show()
有任何想法嗎?
uj5u.com熱心網友回復:
一種方法是將 渲染并存盤
import matplotlib.pyplot as plt
import pygame
import io
plt.plot(Generation=[], Points=[])
plt.title('Points per Generation')
plt.xlabel('Generation')
plt.ylabel('Points')
plot_stream = io.BytesIO()
plt.savefig(plot_stream, formatstr='png')
plot_stream.seek(0)
pygame.init()
plot_surface = pygame.image.load(plot_stream, 'PNG')
window = pygame.display.set_mode(plot_surface.get_size())
clock = pygame.time.Clock()
run = True
while run:
clock.tick(100)
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
window.fill(0)
window.blit(plot_surface, (0, 0))
pygame.display.flip()
pygame.quit()
exit()
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/398889.html
標籤:Python matplotlib 小游戏 pygame表面
上一篇:在單個圖中獲得單獨的均值線
