在使用jupyter notebook時經常會用到matplotlib庫,來實現交互式繪圖,能夠支持數據查看,數據位置確定,圖像移動等功能
%matplotlib notebook(推薦)
在開頭加上如下代碼可以在jupyter notebook行內形成交互式的圖表
%matplotlib notebook
%matplotlib
在開頭加上如下代碼可以在mac內形成交互式的圖表,即會彈出圖像窗口
%matplotlib
%matplotlib inline
開頭加上如下代碼可以顯示圖像,但無交互功能
%matplotlib inline
如果開頭不加上面所說的代碼,運行後也會形成一張乾巴巴的圖片,無法實現交互式功能
一個細節:在每個單元格運行後,圖表被重置
使用jupyter notebook時有個細節需要注意,在每個單元格運行後,圖表被重置,因此對於複雜的圖標,你必須將所有的繪圖命名放在單個的notebook單元格內(%matplotlib notebook
和import matplotlib.pyplot as plt
只要在最開頭加一句就夠了)
注意:如果要把jupyter notebook導出成markdown格式,那麼你要把開頭那句話改成%matplotlib inline
,這樣纔會導出生成的圖片(會自動放在同一個文件夾中)
VScode中用plt.show()
在VScode中使用%matplotlib會報錯,正確做法是用plt.show()
plt.show()
保持圖像打開,關閉圖像纔會繼續往下運行代碼
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 2*np.pi, 0.1)
y1 = np.sin(x)
y2 = np.cos(x)
plt.figure(1)
plt.plot(x, y1)
plt.pause(2) # 在figure(1)上繪製sin曲線,2s後自動關閉窗口
plt.figure(2)
plt.plot(x, y2)
plt.pause(2) # 在figure(2)上繪製cos曲線,2s後自動關閉窗口
plt.pause(0) # 重新繪製figure(1)和figure(2),不會自動關閉
print(2)