
まくまく
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 使い方まとめ