【问题标题】:How to get kivy to show plot?如何让kivy显示情节?
【发布时间】:2020-07-02 20:33:34
【问题描述】:

我正在开发一个 Kivy 应用程序,该应用程序应在用户单击菜单中的项目时生成图。当用户单击该项目时,它会打开一个新屏幕,该屏幕应生成绘图。我的问题是我似乎无法让 Kivy 展示情节。我的代码执行没有错误,所以我不确定哪里出错了。

我一直在寻找有关此问题的问题,我能找到的最好的问题是在这里 (Real-time plotting using matplotlib and kivy in Python),但这对我不起作用。

我还有一个关于重新定义Screen 类的on_enter 方法的第二个问题,以便它可以使用App 方法来创建绘图。这可能吗?

Python 代码(作为 App 类的一部分定义的函数)

def grp_enter(self):
        grid = GridLayout(rows = 1, cols = 1)
        #grid.add_widget(FigureCanvasKivyAgg(plt.gcf())) should have prepared a canvas but one didn't appear
        self.track_instance.associations() # generates the plot

KV代码

<GroupScreen>:
    on_enter: app.grp_enter()
    name: 'groups_screen'

    Button:
        on_release:
            app.root.transition = SlideTransition(direction = "right")
            app.root.current = 'main'
        text: 'back to the home screen'
        font_size: 50

【问题讨论】:

    标签: python matplotlib plot kivy seaborn


    【解决方案1】:

    我可能是错的,因为我无法测试您的代码,但我相信当您尝试显示绘图时您的屏幕不会更新。您应该尝试使用 schedule 功能: clock.schedule_once(function_showing_plot).

    所以在你的 grp_enter 函数中,你可以这样调用你的 track_instance.associations() 函数: clock.schedule_once(track_instance.associations)

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2020-08-14
      • 2021-04-11
      • 2014-12-28
      • 1970-01-01
      • 1970-01-01
      • 2019-08-31
      • 2011-12-25
      • 1970-01-01
      • 2021-12-17
      相关资源
      最近更新 更多