%matplotlib内联对模块内的图不起作用

时间:2017-02-07 22:20:51

标签: python matplotlib inline

在ipython笔记本中显示图表时遇到问题

这是我所做的简化版本:

%matplotlib inline  
import MyPackage  
obj = MyPackage.MyObj()  
obj.display()  

在MyPackage中:

import matplotlib.pyplot as plt  
class MyObj(object):  
    ......  
    def display(self):  
        plt.figure()
        plt.scatter(DATA_IN_MyObj)   

我得到了回复:

<matplotlib.figure.Figure at 0x5de5b10>
非常感谢你们!

1 个答案:

答案 0 :(得分:0)

由于plot命令位于您的模块中,该命令具有自己的命名空间,因此您必须附加plt.show()才能显示该数字。

def display(self):  
    plt.scatter(DATA_IN_MyObj)
    plt.show()

plt.figure()没有必要。

%matplotlib inline是IPython魔术,可以导入许多绘图函数,并在单元格中检测到其中一个函数时自动发出plt.show()