如何修复'ModuleNotFoundError:'kivy.garden.matplotlib.backend_kivyagg''

时间:2019-02-19 03:24:07

标签: python matplotlib kivy

我正在学习如何在Kivy中使用matplotlib。当我运行下面的代码时,它将中断并引发'ModuleNotFoundError:没有名为'kivy.garden.matplotlib.backend_kivyagg的模块”。

试图查找可能的问题,其中一些建议恢复到matplotlib 2.2.2。我试过了,它仍然不起作用。接受任何建议。

{

#Importing Packages
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.widgets import TextBox

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

#adding figure and ax box to the screen
fig, ax = plt.subplots()
#setting distance from bottom for flot
plt.subplots_adjust(bottom=0.2)

#setting initial x limits and precision
x = np.arange(-5.0, 5.0, 0.001)

#setting initial function and plotting
y = x ** 2
initial_text = "x ** 2"
l, = plt.plot(x, y, linewidth=2)

#defining the function of updating text
def submit(text):
    ydata = eval(text)
    l.set_ydata(ydata)
    ax.set_ylim(np.min(ydata), np.max(ydata))
    plt.draw()

#setting dimensions and location of text box
axbox = plt.axes([0.25, 0.05, 0.5, 0.075])
text_box = TextBox(axbox, 'f(x) = ', initial=initial_text)
text_box.on_submit(submit)


class MyApp(App):

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

MyApp().run()

}

这里唯一的问题是FigureCanvasKivyAgg()函数,该函数无法导入。

1 个答案:

答案 0 :(得分:0)

确保已安装所有必需的库。以下示例是针对Python2.7完整安装garden和matplotlib的示例。

首先使用以下命令安装花园:

sudo pip install kivy-garden

花园将在以下位置安装:/usr/local/lib/python2.7/dist-packages/kivy/garden

接下来,使用以下命令安装matplotlib:

sudo apt-get install python-matplotlib

然后使用以下命令添加garden.matplotlib的后端:

sudo garden install matplotlib --kivy

注意:您需要在上一行中使用“ --kivy”,才能进行全局安装。