matplotlib实战
阅读原文时间:2023年07月15日阅读:3

plt.imshow(face_image.mean(axis=2),cmap='gray')

图片灰度处理

size = (m,n,3) 图片的一般形式就是这样的

rgb 0-255 jpg图片 166,255,89 0.0-1.0 png图片 0.1,0.2,0.6

灰度处理以后 rgb---->gray 166,255,89 ---> 190 0.1,0.2,0.6 -- > 0.4

size = (m,n)

import scipy.misc as misc

import numpy as np
import pandas as pd
from pandas import Series,DataFrame

import matplotlib.pyplot as plt
%matplotlib inline

face_image = misc.face()
plt.imshow(face_image)

face_gray = misc.face(gray=True)
plt.imshow(face_gray,cmap='gray')

三种方法

  • 最大值法
  • 平均值法
  • RGB权重法[0.299,0.587,0.114]

plt.imshow(face_image.max(axis=2),cmap='gray')

plt.imshow(face_image.mean(axis=2),cmap='gray')

n = np.array([0.299,0.587,0.114])
plt.imshow(np.dot(face_image,n),cmap='gray')

matplotlib

Matplotlib中的基本图表包括的元素

  • x轴和y轴 axis 水平和垂直的轴线

  • x轴和y轴刻度 tick 刻度标示坐标轴的分隔,包括最小刻度和最大刻度

  • x轴和y轴刻度标签 tick label 表示特定坐标轴的值

  • 绘图区域 axes 实际绘图的区域

只含单一曲线的图

x = np.arange(-np.pi,np.pi,0.1)
y = np.sin(x)
plt.plot(x,y)

包含多个曲线的图

plt.plot(x,np.sin(x),x,np.cos(x))

设置子画布

axes = plt.subplot()

plt.figure(figsize=(8,8))
# 设置字画布,返回的值就是当前字画布的坐标系对象
axes1 = plt.subplot(2,2,1)
axes2 = plt.subplot(222)
axes3 = plt.subplot(223)
axes4 = plt.subplot(224)

网格线

绘制正弦余弦

设置grid参数(参数与plot函数相同),使用plt面向对象的方法,创建多个子图显示不同网格线