[英]Python import works in interpreter, doesn't work in script Numpy/Matplotlib
[英]Why doesn't '%matplotlib inline' work in python script?
以下不起作用:
然而,这完全适用于 Jupiter Notebook。
如果我只是将其注释掉,则图表不会显示。 (也许无论如何它都不会出现)
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)
其他答案和评论已经足够详细地说明了为什么%matplotlib inline
不能在 python 脚本中工作。
要解决实际问题,即在脚本中显示情节,答案是使用
plt.show()
在脚本的末尾。
如果您使用 notebook 并将 my_file.py 文件作为模块运行
将行“%matplotlib inline”更改为“get_ipython().run_line_magic('matplotlib', 'inline')”。 然后使用这个 %run 运行 my_file.py 它应该是这样的:
在 my_file.py 中:
get_ipython().run_line_magic('matplotlib', 'inline')
在笔记本中:
% 运行 my_file.py
这在 ipython 中运行 my_file.py,这有助于避免错误
NameError:未定义名称“get_ipython”
根据http://ipython.readthedocs.io/en/stable/interactive/magics.html , %
是一个特殊的 iPython/Jupyter 命令:
为系统命令定义别名。
%alias alias_name cmd
定义alias_name
作为cmd
的别名
在标准 Python 中, %
在一个数除以另一个数时取余数(或可用于字符串插值),因此在标准 Python 程序中, %matplotlib inline
没有任何意义。 然而,它确实可以在 iPython 中工作,如上所述。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.