繁体   English   中英

为什么 '%matplotlib inline' 在 python 脚本中不起作用?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM