Python Kivy Matplotlib グラフを表示する方法

まくまく
まくまく
PythonのGUIアプリ作成ライブラリ kivyで作成したウインドウにMatplotlibのグラフを表示してみようと思います。

以前、tkinterを使用してMatplotlibのグラフを表示してみましたが、今回はkivyバージョンです。

ちなみに前回の記事はこちらです>>>Python tkinter 株価グラフを表示するGUIアプリを作成した【全銘柄対応】



出力


プログラムを実行するとMatplotlibのグラフが表示されます。上部がグラフエリア、下部はボタンです。(ボタンは表示しているだけなので、押しても何も起こりません)

サンプルプログラム

pyファイル

#ライブラリのインポート
from kivy.app import App
from kivy.config import Config
from kivy.uix.widget import Widget
from kivy.uix.boxlayout import BoxLayout
from kivy.lang import Builder
from kivy.garden.matplotlib.backend_kivyagg import FigureCanvasKivyAgg
import matplotlib.pyplot as plt
import random

#kvファイル読み込み
Builder.load_file("mat_graph2.kv")

#グラフ作成
x = range(1,6,1)
y = []
for i in range(5):
    yy = random.randint(1,20)
    y.append(yy)

fig, ax = plt.subplots()
#折れ線
ax.plot(x,y, marker="o")
#軸設定
ax.set_xlim(0,6)
ax.set_ylim(0,25)
ax.set_xlabel("X")
ax.set_ylabel("Y")
#グラフタイトル
ax.set_title("Kivy x Matplotlib", size=14)

class Graphview(BoxLayout):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        
        self.add_widget(FigureCanvasKivyAgg(fig))

class MyLayout(BoxLayout):
    pass

class DispgraphApp(App):
    def build(self):
        self.title = "window"
        return MyLayout()

if __name__ == '__main__':
    DispgraphApp().run()

kvファイル

#ファイル名: mat_graph2.kv
<MyLayout>
    BoxLayout:
        orientation: "vertical"
        
        Graphview:
            size_hint_y: .8
        Button:
            text: "button"
            size_hint_y: .2

kivy関連の記事はこちらにまとめています。>>>Python kivy 使い方まとめ

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