如何在Kivy中开始/使用Matplotlib

20

我最近学习了一些matplotlib,并希望在kivy中使用它。我有读过一些关于Kivy Garden的文档,但并不真正理解它。 我已经安装了kivy garden和matplotlib,但不知道如何继续下一步。我只想将已完成的matplotlib图形添加到kivy中。 我希望得到一组简化的逐步说明,告诉我如何将我已经编码好的内容添加到kivy中,并使其显示出来。 谢谢


2
我已经阅读了它。有什么问题吗?标题相关,我概述了问题并添加了标签。 - user8216532
1
Stackoverflow更加针对特定的问题,例如“为什么这行代码会出错”或“如何将kivy小部件的背景变成蓝色”。您可以从matplotlib保存png图像,并使用kivy中的图像进行显示。 - syntonym
哦,我明白了,这是我在这里的第二篇帖子,所以我不知道。看来我得研究一下如何给图表添加动画效果了。 - user8216532
在Kivy中,四年后是否有便捷的解决方案可用于交互式图形?相关问题请参考:https://stackoverflow.com/questions/68345620/deploy-flexible-user-interfaces-for-simple-data-analysis-scripts-in-python - Martin
1个回答

38
这里是kivy-garden matplotlib和kivy的最简单的例子。如果您想要做更高级的事情,请查看它们的示例:https://github.com/kivy-garden/garden.matplotlib/tree/master/examples。我认为这已经足以让您开始绘图了。
下面我将其添加到一个BoxLayout中,您可以向此BoxLayout添加更多部件,或将此BoxLayout添加到其他地方。 python代码示例.py:
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()

输入图像描述


但问题是它不是一个交互式的图形!它只是一张没有缩放或光标活动的图片! - Neda
Matplotlib 在我看来不是交互式图形的正确库。我建议先尝试使用 Bokeh 或 Plotly。(不确定为什么会有这么多感叹号) - PalimPalim
我想在树莓派和触摸屏上使用交互式图形,您是否仍然认为Bokeh和Plotly在触摸屏和树莓派上更好? - Neda

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接