【Python(PySimpleGUI)でGUIアプリ入門】棒グラフを表示するアプリを作る方法

PySimpleGUI
けんろう
けんろう

PySimpleGUIでは、グラフを表示するアプリも作ることができます。

この記事では、PySimpleGUIを使って、グラフを表示するGUIアプリの作り方を紹介します。

今回は、棒グラフの作り方を紹介します。

この記事に載っているサンプルコードをコピーして、Pythonで実行すれば、簡単に動きを確認できますので、是非試してみて下さい。

この記事では、初心者にもわかりやすいように、各処理の内容を、サンプルコード内にコメントとして載せています。

【無料オンライン】ゼロから始めるPythonプログラミング入門講座(週5開催) テックジム

PySimpleGUIのインストールの仕方は、以下の記事で紹介しています。

スポンサーリンク

棒グラフを表示するアプリ

このアプリは、テストデータを読み込んで、棒グラフとして表示します。

「棒グラフ表示」ボタンを押すと、グラフが表示されます。

テストデータは、以下とします。

[x、y]= [1.0, 10.0],[2.0, 4.4],[3.0, 6.3],[4.0, 13.4],[5.0, 0.4]

このX値、Y値を変更してもらうだけで、いろんなデータに使用できます。

【AIジョブカレ】人工知能技術専門プログラミングスクール

サンプルコード

#!usr/bin/env python
# -*- coding: utf-8 -*-

import PySimpleGUI as sg

# グラフ表示用定数
GRAPH_SIZE = (500, 500)
DATA_SIZE = (100, 100)

# プロットするデータ数
PLOTS_NUMBER = 5

# プロットするデータの定義
test_data = [   [1.0, 10.0],
                        [2.0, 4.4],
                        [3.0, 6.3],
                        [4.0, 13.4],
                        [5.0, 0.4]]

# グラフ表示調整用
LINE_X = 10
LINE_Y = 5


# グラフの描画領域の設定
graph = sg.Graph(GRAPH_SIZE, (0, 0), DATA_SIZE, key='-GRAPH-', background_color='white',)

# レイアウト
layout = [    [sg.Text('グラフデモ')],
                    [graph],
                    [sg.Button('棒グラグ表示')]]

# ウィンドウの生成
window = sg.Window('シンプルなグラフのサンプル', layout)

# 折れ線グラフの初期化
before_value = 0

while True:

    # 入力待ち
    event, values = window.Read()

    # ウィンドウ右上のXを押下した時の処理
    if event is None:
        break

    # ボタン押下時の処理
    if event == '棒グラグ表示':

        # グラフの表示を一旦削除
        graph.Erase()

        # テストデータリストからデータを取得する
        for i in range(PLOTS_NUMBER):

            x = test_data[i][0]
            y = test_data[i][1]

            graph.DrawRectangle(top_left=(x * LINE_X, y * LINE_Y), bottom_right=(x * LINE_X + 5, 0), fill_color='blue')

            graph.DrawText(text=y, location=(x * LINE_X + 3 , y * LINE_Y + 5))

window.Close()

実行すると、

下図のようなウィンドウが立ち上がります。

「折れ線グラフ表示」ボタンを押下すると、グラフが表示されます。

まとめ

今回は、Pythonライブラリである、PySimpleGUIを使い、棒グラフを表示するアプリの作り方を紹介しました。

コメント

タイトルとURLをコピーしました