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