我正在学习如何在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()函数,该函数无法导入。
答案 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”,才能进行全局安装。