Как создать виджет Matplotlib в файле Kivy kv? - PullRequest
0 голосов
/ 25 апреля 2018

Я хочу использовать файл .kv для создания виджета Matplotlib, но я не уверен, как это сделать.

Без файла .kv основной код выглядит следующим образом:

from kivy.garden.matplotlib.backend_kivyagg import FigureCanvasKivyAgg
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
import matplotlib.pyplot as plt

plt.plot([1, 23, 2, 4])
plt.ylabel('some numbers')

class MyApp(App):

    def build(self):
        box = BoxLayout()
        box.add_widget(FigureCanvasKivyAgg(plt.gcf()))
        return box

MyApp().run()

Как это сделать с файлом .kv?

1 Ответ

0 голосов
/ 13 августа 2018

Итак, вот что я понял. В языковом файле .KV вы указываете макет и присваиваете ему идентификатор:

BoxLayout:
    id: destination

Тогда в вашем коде Python вы используете следующее:

self.ids.destination.add_widget(FigureCanvasKivyAgg(plt.gcf()))

Таким образом, вы эффективно используете идентификатор, который вы установили в файле языка kivy, как ссылку на ваш график matplotlib.

...