1. 程式人生 > >數據分析與展示---Matplotlib入門

數據分析與展示---Matplotlib入門

lib alt 5.0 圖片 簡單使用 arr eight urn 增加

簡介:

一:Matplotlib庫的介紹

(一)簡單使用

二:區域劃分subplot

三:plot函數

四:pyplot的中文顯示

(一)方法一:修改rcParams參數

(二)方法二(推薦),在有中文地方增加屬性:fontproperties

五:pyplot的文本顯示方法

六:pyplot的子繪圖區域

(一)subplot2grid()

(二)GridSpec類加上subplot方法


一:Matplotlib庫的介紹

技術分享圖片

技術分享圖片

(一)簡單使用

import matplotlib.pyplot as plt

plt.plot([3,1,4,5,2])
plt.ylabel("grade
") plt.show()

技術分享圖片

import matplotlib.pyplot as plt

plt.plot([3,1,4,5,2])
plt.ylabel("grade")
plt.savefig("test",dip=600)  #png文件,dpi修改輸出質量
plt.show()

技術分享圖片

import matplotlib.pyplot as plt

plt.plot([0,2,4,6,8],[3,1,4,5,2])  #第一個列表是x軸列表,第二個是y軸列表
plt.ylabel("grade")
plt.axis([-1,10,0,6])  #前兩個是x軸的取值範圍-1到10,後兩個是y軸取值範圍0-6
plt.show()

技術分享圖片

二:區域劃分subplot

技術分享圖片

註意:劃分區域可以不使用‘,‘

import matplotlib.pyplot as plt
import numpy as np

def f(t):
    return np.exp(-t)*np.cos(2*np.pi*t)  #衰減曲線

a = np.arange(0.0,5.0,0.02)

plt.subplot(211)  #劃分為兩行一列,選取第一個區域
plt.plot(a,f(a))  #繪制衰減曲線

plt.subplot(2,1,2)  #在將繪圖區域換到整個繪圖區域的第二個,自動切換
plt.plot(a,np.cos(2*np.pi*a),
r--)  #繪制余弦曲線 plt.show()

技術分享圖片

三:plot函數

技術分享圖片

import matplotlib.pyplot as plt
import numpy as np

a = np.arange(10)

plt.plot(a,a*1.5,a,a*2.5,a,a*3.5,a,a*4.5)  #每兩個是一條曲線
plt.show()

技術分享圖片

如何控制顏色等曲線屬性:通過參數format_string

技術分享圖片

技術分享圖片

技術分享圖片

import matplotlib.pyplot as plt
import numpy as np

a = np.arange(10)

plt.plot(a,a*1.5,go-,a,a*2.5,rx,a,a*3.5,*,a,a*4.5,b-.)
plt.show()

技術分享圖片

技術分享圖片

四:pyplot的中文顯示

(一)方法一:修改rcParams參數

技術分享圖片

import matplotlib.pyplot as plt
import matplotlib

matplotlib.rcParams[font.family]=SimHei

plt.plot([0,2,4,6,8],[3,1,4,5,2])#第一個列表是x軸列表,第二個是y軸列表
plt.ylabel("縱向軸")     #默認是不允許中文,會報錯
plt.axis([-1,10,0,6])   #前兩個是x軸的取值範圍-1到10,後兩個是y軸取值範圍0-6
plt.show()

技術分享圖片

技術分享圖片

技術分享圖片

import matplotlib.pyplot as plt
import numpy as np
import matplotlib

matplotlib.rcParams[font.family] = "SimHei"
matplotlib.rcParams[font.size] = 20

a = np.arange(0.0,5.0,0.02)

plt.xlabel("橫軸:時間")
plt.ylabel("縱軸:振幅")
plt.plot(a,np.cos(2*np.pi*a),r--)

plt.show()

技術分享圖片

(二)方法二(推薦),在有中文地方增加屬性:fontproperties

import matplotlib.pyplot as plt
import numpy as np

a = np.arange(0.0,5.0,0.02)

plt.xlabel("橫軸:時間",fontproperties="SimHei",fontsize=20)
plt.ylabel("縱軸:振幅",fontproperties="SimHei",fontsize=20)
plt.plot(a,np.cos(2*np.pi*a),r--)

plt.show()

技術分享圖片

五:pyplot的文本顯示方法

技術分享圖片

import matplotlib.pyplot as plt
import numpy as np

a = np.arange(0.0,5.0,0.02)
plt.plot(a,np.cos(2*np.pi*a),r--)


plt.xlabel("橫軸:時間",fontproperties="SimHei",fontsize=20,color="green")
plt.ylabel("縱軸:振幅",fontproperties="SimHei",fontsize=20)
plt.title(r正弦波實例 $cons(2\pi x)$,fontproperties="SimHei",fontsize=15)
plt.text(2,1,r$\mu=100$,fontsize=15) #2 1 是橫縱坐標

plt.axis([-1,6,-2,2])
plt.grid(True)
plt.show()

技術分享圖片

技術分享圖片

plt.annotate(r"$\mu=100$",xy=(2,1),xytext=(3,1.5),arrowprops=dict(facecolor="black",shrink=0.1,width=2)) #shrink是箭頭兩邊到圖像,文字之間的間隔(相對於箭頭的比例)

技術分享圖片

六:pyplot的子繪圖區域

上面使用了subplot進行了簡單的區域劃分,下面考慮復雜的繪圖區域的劃分

技術分享圖片

(一)subplot2grid()

技術分享圖片

技術分享圖片

技術分享圖片

(二)GridSpec類加上subplot方法

技術分享圖片

總結

技術分享圖片

技術分享圖片

數據分析與展示---Matplotlib入門