Matplotlib資料視覺化——subplot多合一顯示
阿新 • • 發佈:2018-11-30
這篇結合前面所學,多合一顯示不同的資料表現形式
import matplotlib.pyplot as plt
import cv2 as cv
import numpy as np
plt.figure()
src = cv.imread('./data/lena.jpg', 1)
# 第一個位置顯示圖片
plt.subplot(2, 2, 1)
b, g, r = cv.split(src)
dst = cv.merge([r, g, b])
plt.imshow(dst)
# 第二個位置顯示散點圖
plt.subplot(2, 2, 2)
plt.scatter(np.arange( 10), np.arange(10))
# 第三個位置顯示柱狀圖
plt.subplot(223) # python容許這個省略逗號的操作
n = 10
X = np.arange(n)
Y = (1-X/n)*np.random.uniform(0.5, 1.0, n)
plt.bar(X, Y, facecolor='#9999ff', edgecolor='white')
# 第四個位置顯示等高線圖
plt.subplot(224)
def height(x, y):
return (1-x/2+x**5+y**3)*np.exp(-x**2-y**2)
x = np.linspace(-3,3 ,256)
y = np.linspace(-3,3,256)
# 將原始資料變成網格資料
X,Y = np.meshgrid(x,y)
# 填充顏色
plt.contourf(X,Y,height(X,Y),8,alpha=0.75,cmap='hot')
# add contour lines
C = plt.contour(X,Y,height(X,Y),8,color='black',lw=0.5)
plt.show()
import matplotlib.pyplot as plt
plt.figure()
plt.subplot(2,1,1)
plt.plot([0, 1 ], [0, 1])
plt.subplot(2,3,4)
plt.plot([0, 1], [0, 2])
plt.subplot(235)
plt.plot([0, 1], [0, 3])
plt.subplot(236)
plt.plot([0, 1], [0, 4])
plt.show()