1. 程式人生 > >圖表繪制工具--Matplotlib

圖表繪制工具--Matplotlib

lib 分享 pytho type ram code num 基本數據結構 -m

‘‘‘
【課程3.1】  Matplotlib簡介及圖表窗口

Matplotlib → 一個python版的matlab繪圖接口,以2D為主,支持python、numpy、pandas基本數據結構,運營高效且有較豐富的圖表庫
 
‘‘‘
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# 圖表窗口1 → plt.show()

plt.plot(np.random.rand(10))
plt.show()
# 直接生成圖表

  輸出

技術分享圖片

# 圖表窗口2 → 魔法函數,嵌入圖表

% matplotlib inline  
x = np.random.randn(1000)
y = np.random.randn(1000)
plt.scatter(x,y)
# 直接嵌入圖表,不用plt.show()
# <matplotlib.collections.PathCollection at ...> 代表該圖表對象

  輸出:

技術分享圖片

# 圖表窗口3 → 魔法函數,彈出可交互的matplotlib窗口

% matplotlib notebook
s = pd.Series(np.random.randn(100
)) s.plot(style = k--o,figsize=(10,5)) # 可交互的matplotlib窗口,不用plt.show() # 可做一定調整

  輸出:

技術分享圖片

# 圖表窗口4 → 魔法函數,彈出matplotlib控制臺

% matplotlib qt5
df = pd.DataFrame(np.random.rand(50,2),columns=[A,B])
df.hist(figsize=(12,5),color=g,alpha=0.8)
# 可交互性控制臺
# 如果已經設置了顯示方式(比如notebook),需要重啟然後再運行魔法函數
# 網頁嵌入的交互性窗口 和 控制臺,只能顯示一個

#plt.close()    
# 關閉窗口

#plt.gcf().clear()  
# 每次清空圖表內內容  

  輸出:

array([[<matplotlib.axes._subplots.AxesSubplot object at 0x000000000CA745C0>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x000000000CA7D9B0>]], dtype=object)

圖表繪制工具--Matplotlib