【數(shù)據(jù)可視化】Matplotlib:MATLIB 風(fēng)格與面向?qū)ο?/h2>

?? 一、Matplotlib庫相關(guān)介紹

【介紹】:Matplotlib 是建立在Numpy數(shù)組基礎(chǔ)上的多平臺數(shù)據(jù)可視化程序庫。

安裝
pip install matplotlib
兩種使用方式
  • 1、交互式圖形: %matplotlib notebook
  • 2、靜態(tài)圖形: %matplotlib inline
導(dǎo)入相關(guān)庫
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
【第一步】:繪制正弦、余弦曲線
x = np.linspace(-5,5,100)
fig = plt.figure()
plt.plot(x,np.sin(x),'-')
plt.plot(x,np.cos(x),'--')
plt.show()
output_正弦、余弦曲線
【第二步】:利用savefig將圖形保存為文件
fig.savefig('my.png')
【第三步】:利用from IPython.display import Image顯示圖形
from IPython.display import Image
Image("my.png")
output_顯示圖形
【第四步】:獲取支持的圖像格式
fig.canvas.get_supported_filetypes()
{'ps': 'Postscript',
 'eps': 'Encapsulated Postscript',
 'pdf': 'Portable Document Format',
 'pgf': 'PGF code for LaTeX',
 'png': 'Portable Network Graphics',
 'raw': 'Raw RGBA bitmap',
 'rgba': 'Raw RGBA bitmap',
 'svg': 'Scalable Vector Graphics',
 'svgz': 'Scalable Vector Graphics'}

?? 二、畫圖的兩種風(fēng)格

【第一種】:MATLIB 風(fēng)格接口
# 創(chuàng)建圖形
plt.figure()

#(行、列、子圖的編號)
plt.subplot(2,1,1)
plt.plot(x,np.sin(x))

plt.subplot(2,1,2)
plt.plot(x,np.cos(x))

【解釋】:這種風(fēng)格的重要特征是:有狀態(tài)的。會持續(xù)跟蹤當(dāng)前的圖形和坐標(biāo)進行繪制。

  • plt.gcf() :獲取當(dāng)前圖形
  • plt.gca() : 獲取當(dāng)前坐標(biāo)軸
output_MATLIB 風(fēng)格
【第二種】:面向?qū)ο蠼涌?/h6>
# ax 是包含了兩個Axes對象的數(shù)組
fig, ax = plt.subplots(2)

# 在每個對象上調(diào)用plot()
ax[0].plot(x,np.sin(x))
ax[1].plot(x,np.cos(x))

【基本思路】:將畫圖實例化對象為ax,( ax 是包含了兩個Axes對象的數(shù)組),然后對每個對象直接調(diào)用plot()等相關(guān)函數(shù)進行繪圖。

output_面向?qū)ο?/div>

?? 三、繪制簡易線型圖

  • figure:可以被看做是一個能夠容納各種坐標(biāo)軸、圖形、文字、和標(biāo)簽的容器
  • axes: 是一個帶標(biāo)簽和刻度的矩形。
# figure:可以被看做是一個能夠容納各種坐標(biāo)軸、圖形、文字、和標(biāo)簽的容器
# axes: 是一個帶標(biāo)簽和刻度的矩形。
fig = plt.figure()
ax = plt.axes()
【第一步】:沒錯,先繪制一個空白的帶標(biāo)簽和刻度的容器作為繪圖的基礎(chǔ)(就像畫布那樣)。
output_畫布
【第二步】:通過不斷的調(diào)用plot可以在一個畫布上繪制多個圖形。
plt.plot(x,np.sin(x))
plt.plot(x,np.cos(x))
output_繪制圖形
【第三步】:調(diào)整圖形的線條顏色與風(fēng)格
## 顏色 color參數(shù)
plt.plot(x,np.sin(x - 0), color='blue')  # 標(biāo)準顏色名稱
plt.plot(x,np.sin(x - 1), color='g')     # 縮寫顏色的代碼(rgbcmyk)
plt.plot(x,np.sin(x - 2), color='0.75')  # 范圍在0-1直間的灰度值
plt.plot(x,np.sin(x - 3), color='#ff99dd') #十六進制
plt.plot(x,np.sin(x - 4), color=(1.0,0.2,0.3)) #RGB元組,范圍0-1

【補充】:Matplotlib中關(guān)于顏色的表達形式,主要有以下幾種。

  • color='blue':標(biāo)準顏色名稱;
  • color='g': 縮寫顏色的代碼(rgbcmyk);
  • color='0.75':范圍在0-1直間的灰度值;
  • color='#ff99dd':十六進制;
  • color=(1.0,0.2,0.3):RGB元組,范圍(0,1);
output_顏色的表達形
【第四步】: 使用 linestyle 參數(shù)調(diào)整線條風(fēng)格
plt.plot(x,x+0,linestyle='solid')
plt.plot(x,x+1,linestyle='dashed')
plt.plot(x,x+2,linestyle='dashdot')
plt.plot(x,x+3,linestyle='dotted')
output_線條風(fēng)格
【第五步】:線條風(fēng)格,簡寫形式
plt.plot(x,x+0,linestyle='-')   # 實線
plt.plot(x,x+1,linestyle='--')  # 虛線
plt.plot(x,x+2,linestyle='-.') # 點劃線
plt.plot(x,x+3,linestyle=':') # 實點線
output_線條風(fēng)格
【第六步】:(參數(shù)組合)將color 和linestyle 組合起來
plt.plot(x,x+0,'-g')  # 綠色實線
plt.plot(x,x+1,'--c') # 青色虛線
plt.plot(x,x+3,'-.k') # 黑色點劃線
plt.plot(x,x+4,':r') # 紅色點實線
output_參數(shù)組合
【第七步】:調(diào)整坐標(biāo)軸的上下限
  • 方式1:兩個基礎(chǔ)方法:plt.xlim() 和 plt.ylim()
# 方式1:兩個基礎(chǔ)方法:plt.xlim()  和 plt.ylim()
plt.plot(x,np.sin(x))
plt.xlim(-1,11)
plt.ylim(-1.5,1.5)
output_參數(shù)組合
  • 方式2:plt.axis([xmin,xmax,ymin,ymax])
# 方式2:plt.axis([xmin,xmax,ymin,ymax])
plt.plot(x,np.sin(x))
plt.axis([-1,11,-1.5,1.5])
output
【第八步】:坐標(biāo)軸逆序顯示,將 xlim() 或者 ylim()的參數(shù)設(shè)置為負值。
plt.plot(x,np.sin(x))
plt.xlim(10,0)
plt.ylim(1.2,-1.2)
output_坐標(biāo)軸逆序
【第九步】:使用 plt.axis('tight') 按照圖形內(nèi)容,自動縮緊坐標(biāo)軸,不留空白。
output_縮緊坐標(biāo)軸
plt.plot(x,np.sin(x))
plt.axis('tight')
【第十步】:讓x和y軸長度單位相同
plt.plot(x,np.sin(x))
plt.axis('equal')
output_單位等長
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容