鱧技術

hamo_daisukiの技術メモ

pycharm community で pyplot のグラフが表示できなかったのでチョメチョメしてみた話

とある理由で jupyter-notebook ばかり使っていたので、pycharm に帰ってきたときに「え゛、どうやったっけ」になってしまった初心者あるあるです
pycharm community を使ってまして pyplot でプロットして plt.show() したんですが「nonGUIの環境だから表示できんよ。でもエラーはないよ」とつれないお返事。検索するといろいろ対処法がありましたが、なんだか面倒。そこでこんな感じにしてみました。

import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
import io

def plot_test():
    x = np.random.rand(100)
    y = np.random.rand(100)

    np.scatter(x, y)
    buf: BytesIO = io.BytesIO()
    plt.savefig(buf, format='png')

    im = Image.open(buf)
    im.show()

if __name__='__main__':
    plot_test()

グラフをバッファに書き出して、pillow で表示できるわけ無いじゃんと思ったんですが...別窓ながらなんかできました
一度ファイルに書き出してから表示しても良いんですが、なんか面倒だったので