python庫之matplotlib

一、簡單的繪圖流程

1、通過figure()函數創建畫布,可以在創建時 更改畫布的背景顏色,背景顏色可以有助於子圖座標及座標軸的顯示
2、通過add_subplot()函數在 畫布上進行子圖的創建,將原有的單個畫布分割爲多個子圖,並進行區域的選取
3、通過其它函數對座標軸和標籤進行相應的處理,詳細的內容見後文的代碼

import matplotlib.pyplot as plt
import numpy as np

#生成畫布,並設置畫布的背景顏色爲灰色
fig = plt.figure(facecolor = 'gray')

#將畫布分成2*2的四塊區域從左上到右下,“221”表示2*2中的第1塊區域
ax1 = fig.add_subplot(221)
ax2 = fig.add_subplot(222)

#對子圖的座標軸進行命名
ax1.set_xlabel('Value_X')
ax1.set_ylabel('Value_Y')

#對子圖座標軸的名稱進行顏色的設置
ax1.xaxis.label.set_color('red')
ax1.yaxis.label.set_color('red')

#子圖座標軸刻度的範圍進行設置,具體根據繪製的函數進行確定
x_ticks = np.linspace(-1,2,5)
ax1.xticks(x_ticks)
y_ticks = np.linspace(1,2,5)
#將每個數值刻度改爲對應的其他字符
ax1.yticks(y_ticks,['one','two','three','four','five'])

#對座標軸的軸線進行顏色的設置
ax1.spines['bottom'].set_color('red')
ax1.spines['left'].set_color('red')

#對座標軸的軸線刻度進行設置
ax1.tick_params(axis = 'x',colors = 'red')
ax1.tick_params(axis = 'y',colors = 'red')

#繪製散點圖和線性圖
x = np.linspace(1,2,10)
y = x**2
ax1.scatter(x,y,c='r',marker='+')
ax1.plot(x,y,color='blue',linewidth=1.0,linestyle='--')
plt.show()

二、常見懵B函數

  • 1、colorConverter()函數
    from matplotlib.colors import colorConverter

  • 2、ListedColormap()函數
    from matplotlib.colors import ListedColormap

3、contourf()函數
(1)matplotlib.pyplot.contourf()函數是畫三維等高線圖的,並對等高線間的區域進行填充
(2)contourf(x,y,z,cmap),個人的理解爲x和y分別表示兩個等長的座標矩陣,z爲(x,y)點所映射的值,z = f(x,y),可以把x、y、z看作爲三維矩陣,cmap對映射不同的等高值進行上色。

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.colors import ListedColormap
x=np.array([1,2])
y=np.array([1,2])
z=np.array([[1,2],[2,3]])
plt.xlim(1,2)
plt.ylim(1,2)
colors = ('red', 'blue', 'lightgreen', 'gray', 'cyan')
cmap = ListedColormap(colors[:len(np.unique(z))])
plt.contourf(x,y,z,cmap=cmap)   
plt.show()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章