Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么matplotlib返回对象而不是打印它?_Python_Python 3.x_Matplotlib_Jupyter Notebook - Fatal编程技术网

Python 为什么matplotlib返回对象而不是打印它?

Python 为什么matplotlib返回对象而不是打印它?,python,python-3.x,matplotlib,jupyter-notebook,Python,Python 3.x,Matplotlib,Jupyter Notebook,我在Jupyter的当前版本中运行这个 我的一个单元格包含以下内容 import matplotlib.pyplot as plt def main(): a_list = list(range(20)) plt.plot(a_list) plt.show() main() 当我运行kernel>Restart&runall时,我得到的唯一输出是一个绘图图: 当我用run按钮直接运行单元格时,我得到了预期的绘图 当我将main()移动到它自己的单元格

我在Jupyter的当前版本中运行这个

我的一个单元格包含以下内容

import matplotlib.pyplot as plt

def main():  
    a_list = list(range(20))
    plt.plot(a_list)  
    plt.show()

main()    
当我运行
kernel>Restart&runall
时,我得到的唯一输出是一个绘图图:

当我用
run
按钮直接运行单元格时,我得到了预期的绘图

当我将
main()
移动到它自己的单元格,然后运行
kernel>Restart&runall
时,我得到了预期的绘图


如果您将
%matplotlib inline
放在笔记本的开头,然后运行
kernel>Restart&runall
,您会得到预期的绘图吗?(如果是,则在启动IPython笔记本时自动运行
%matplotlib inline
)。是的,添加
%matplotlib inline
可以使初始示例按预期工作。但是,到底发生了什么?为什么这是必要的(有时)?有人怎么知道会这样做呢?我不太确定,但我相信这里的问题是有很多可能的选择,而IPython/Jupyter没有选择正确的/没有配置为选择您想要的。查看哪些文档有链接。