当我以面向对象的方式使用 matplotlib 编程时,是否可以在 jupyter notebook 中自动完成代码?

Is it possible to autocomplete codes in jupyter notebook while I programing using matplotlib in the way of object-oriented approach?

为了说清楚,我举个例子:

%matplotlib inline    
import matplotlib.pyplot as plt
a=[1,2,3,4]
plt.plot(a)

以上是简单的画法。当我在 jupyter 笔记本中键入 plt.p 并单击 Tab 时,屏幕会显示一些提示,例如 plt.plot


但是,当我像下面的代码那样以面向对象的方式编程时,我输入ax.p然后点击Tab屏幕就没有提示了。

fig, ax=plt.subplots()
ax.plot(a)

如果有人能帮助我,我将不胜感激!

如果在第一次计算 fig, ax=plt.subplots() 之前在同一个单元格中键入 fig, ax=plt.subplots() 后跟 ax.plot(a),jupyter 将不知道 ax 对象是什么。这就是为什么您不会收到任何自动完成提示的原因。

对于更高级的自动完成,您可以使用 IDE 支持 VS 代码(免费)等笔记本的解释 here or in pycharm(付费)。

您还可以使用 TabNine 或 Kite 对 IDE 进行广泛的自动完成。