为什么没有'%matplotlib内联'在python脚本中工作?

时间:2017-05-28 07:53:37

标签: python matplotlib

以下不起作用:

enter image description here

然而,这完全适用于Jupiter Notebook。

enter image description here

如果我只是将其评论出来,图表就不会显示出来。 (也许它无论如何都不会出现)

import pandas as pd
import matplotlib

from numpy.random import randn
import numpy as np

import matplotlib.pyplot as plt

df = pd.read_csv('data/playgolf.csv', delimiter='|' )
print(df.head())

hs = df.hist(['Temperature','Humidity'], bins=5)
print(hs)

3 个答案:

答案 0 :(得分:9)

其他答案和评论非常详细,为什么%matplotlib inline无法在python脚本中运行。

要解决实际问题,即在脚本中显示情节,答案是使用

plt.show()

在剧本的最后。

答案 1 :(得分:1)

根据http://ipython.readthedocs.io/en/stable/interactive/magics.html%是一个特殊的iPython / Jupyter命令:

  

定义系统命令的别名。

     

%alias alias_name cmdalias_name定义为cmd

的别名

在标准Python中,%取一个数字除以另一个数字时的余数(或者可用于字符串插值),因此在标准Python程序中,%matplotlib inline没有任何意义。但是,它确实适用于iPython,如上所述。

答案 2 :(得分:0)

如果您使用的是笔记本并将my_file.py文件作为模块运行

将行“%matplotlib内联”更改为“ get_ipython()。run_line_magic('matplotlib','inline')”。 然后使用此%run运行my_file.py 它应该看起来像这样:

在my_file.py中:

  

get_ipython()。run_line_magic('matplotlib','inline')

在笔记本电脑上:

  

%run my_file.py

这将在ipython中运行my_file.py,这有助于避免该错误

  

NameError:名称'get_ipython'未定义