簡體   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