PR

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

PySimpleGUI
スポンサーリンク
けんろう
けんろう

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

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

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

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

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

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値を変更してもらうだけで、いろんなデータに使用できます。

サンプルコード

#!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を使い、棒グラフを表示するアプリの作り方を紹介しました。

オススメ

M5Stack

小さな筐体の中に、ディスプレイ、ボタン、無線通信モジュールなど、必要な機能が詰め込まれたモジュールです。メーカから提供されるライブラリも豊富で、初心者の初めてのプログラミングにぴったりです。5 cm四方のベーシックなモデルの他、小型スティック型のモデル、更に小型のATOMシリーズ、M5Stampシリーズなどがあります。

オススメ

AI(人工知能)特化型プログラミングスクール「Aidemy Premium」

Aidemy Premiumは、AIや機械学習などの最先端技術の修得に留まらず、それらを活用して目標達成を実現するまでを一気通貫して支援するオンラインコーチングサービスです。

こんな思いを持っている人にオススメ
・AIエンジニア/データサイエンティストにキャリアチェンジしたい
・業務課題(研究課題)をAIを使って解決したい
・教養としてAIについて知りたい
・AIに関してのスキルを身に着け就職活動に活かしたい…

オススメポイント
・3ヶ月間集中して「AIプログラミング」を修得するオンラインコーチングサービスです。
・完全なプログラミング初心者から研究者にまで幅広く優良なコンテンツを提供します。
・通常のプログラミングスクールとは異なり、受講者の進捗管理を徹底して行います。
・専属メンターがAIの学び方から徹底的にコーチングします。
・完全オンライン完結なので、東京以外に在住・在勤の方も気兼ねなくお申込み頂けます。

実績
・日本最大級のAI/人工知能プログラミングスクール
・SaaS型AI学習サービス「Aidemy」会員登録者数 55,000名突破
・法人向けAI内製化支援サービス「Aidemy Business」導入企業数 120社突破
・第16回 日本e-Learning大賞「AI・人工知能特別部門賞」受賞
・「HRアワード2019」プロフェッショナル部門 入賞

無料ビデオカウンセリング実施中です。

コメント

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