Sprache auswählen

Wer innerhalb von Kivy auch Diagramme, wie beispielsweise Temperaturverläufe anzeigen möchte, muss sich noch ein Zusatzmodul installieren. In meinem Fall möchte ich mit der Matplotlib Temperatur- und Feuchteverläufe in einer App darstellen. Dazu verwende ich das Modul Kivy-Garden/Matplotlib.

Die Installation ist denkbar einfach. Zunächst installiert man Kivy Garden

pip3 install kivy-garden

und nach einem Neustart die Matplotlib Erweiterung:

garden install matplotlib

Um zu überprüfen, ob Matplotlib installiert wurde oder um zu sehen, welche sonstigen Garden Module installiert sind, kann man mit dem Befehl:

garden list

eine Liste der installierten Module abrufen.

Natürlich sind wir noch nicht ganz am Ende. Das, was wir gerade installiert haben ist nicht die Matplotlib an sich, sondern nur eine Erweiterung von Kivy, um Plots aus Matplotlib anzeigen zu können. Also installieren wir jetzt noch die Matplotlib.

python3 -m pip install -U matplotlib

Jetzt schreiben wir noch ein kleines Testprogramm, um die Matplotlib mit Kivy zusammen in Action zu sehen.

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

#data = {'Monday': 10, 'Tuesday': 15, 'Wednesday': 5, 'Thursday': 20, 'Friday': 12}
values_xaxis = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
values_yaxis = [10, 15, 5, 25, 34, 55, 37]

fix, ax = plt.subplots()
ax.bar(values_xaxis, values_yaxis)
plt.ylabel('Visitors per Day')

class MyApp(App):

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

MyApp().run()

 Das Ergebnis ist ein einfacher Plot, der Besucherzahlen über den Wochentagen als Balkengrafik dasrstellt.