1

matplotlib と pygame を使用して、160x128 LCD デバイスであるフレームバッファ デバイスに書き込みます。

グラフをプロットして PNG に保存し、LCD にロードすると、完璧に見えます。

matplotlib.use('Agg')
TFTxSize = 2.28
TFTySize = 1.63
ax = fig.add_subplot(111)
fig.set_size_inches(TFTxSize, TFTySize)
pylab.plot(temp,linewidth=2, antialiased=True)
pylab.savefig('gp.png', facecolor=fig.get_facecolor(),bbox_inches='tight',     dpi=80,pad_inches=0.03)
pil_im = Image.open('gp.png')
pil_out = pil_im.rotate(90)
pil_out.save("gp.png")
img = pygame.image.load('gp.png')
screen.blit(img,(0,0))
pygame.display.flip()

ファイルを書き込むのではなく、より動的にメモリに保存することを考えていました。これを試してみました。

canvas = agg.FigureCanvasAgg(fig)
canvas.draw()
renderer = canvas.get_renderer()
raw_data = renderer.tostring_rgb()
size = canvas.get_width_height()
surf = pygame.image.fromstring(raw_data, size, "RGB")
surfnew = pygame.transform.rotate(surf, 90)
screen.blit(surfnew, (0,0))
pygame.display.flip()

それは機能しますが、少し大きいです...そして、ディスクに保存するときに最初のコードで実行できたフォーマットの一部を失いました. "<strong>bbox_inches='tight'" と "<strong>pad_inches=0.03" コードの一番下のピースにこれら 2 つの書式設定オプションを入力する方法はありますか?

4

0 に答える 0