Python数据分析——Matplotlib数据可视化基础(一)

发布时间:2023-07-23 19:30

Python数据分析——Matplotlib数据可视化基础(一)

思维导图:
\"Python数据分析——Matplotlib数据可视化基础(一)_第1张图片\"

图像的数组表示

图像的RGB色彩模式
  • RGB三个颜色通道的变化和叠加得到各种颜色,其中R红色,取值范围,0-255
    G绿色,取值范围,0-255
    B蓝色,取值范围,0-255。RGB形成的颜色包括了人类示例所能感知的所有颜色。
PIL库
  • PIL(Python Image Library):是一个具有强大图像处理能力的第三方库
  • 引入图像类:
from PIL import Image 
  • Image是PIL库中代表一个图像的类(对象)
图像的数组表示
  • 图像是一个由像素组成的二维矩阵,每个元素是一个RGB值

例:

from PIL import Image
import numpy as np
im = np.array(Image.open(\"‪C:/Users/sssss/.spyder-py3/123.jpg\"))
print(im.shape,im.dtype)

图像的变换

  • 读入图像后,获得像素RGB值,修改后保存为新的文件

例:

from PIL import Image
import numpy as np
a = np.array(Image.open(\"‪C:/Users/sssss/.spyder-py3/123.jpg\"))
print(a.shape,a.dtype)
b = [255,255,255] -a
im = Image.fromarray(b.astype(\'uint8\'))
im.save(\"‪C:/Users/sssss/.spyder-py3/1234.jpg\")

将彩色照片变成灰度图片:

from PIL import Image
import numpy as np
a = np.array(Image.open(\"C:/Users/sssss/.spyder-py3/123.jpg\").convert(\'L\'))
b = 255 - a
im = Image.fromarray(b.astype(\'uint8\'))
im.save(\"‪C:/Users/sssss/.spyder-py3/1234.jpg\")

Matplotlib库的介绍

  • Matplotlib库由各种可视化类构成,内部结构负责,受Matlab启发
  • Matplotlib.pyplot是绘制各类可视化图形的命令子库,相当于快捷方式。
import matplotlib.pyplot as plt
  • plt:引入模块的别名
添加画布内容

\"Python数据分析——Matplotlib数据可视化基础(一)_第2张图片\"

存与展示图形

\"Python数据分析——Matplotlib数据可视化基础(一)_第3张图片\"

例1:

import matplotlib.pyplot as plt

plt.plot([3,1,4,5,2]) 
plt.ylabel(\"grade\")
plt.savefig(\'test\',dpi=600) #PNG文件
plt.show()

\"Python数据分析——Matplotlib数据可视化基础(一)_第4张图片\"

  • plt.savefig():将输出图形存储为文件,默认PNG格式,可以通过dpi修改输出质量

例2:

plt.plot([0,2,4,6,8],[3,1,4,5,2]) 
plt.ylabel(\"grade\")
plt.axis([-1,10,0,6])
plt.show()

\"Python数据分析——Matplotlib数据可视化基础(一)_第5张图片\"

  • plt.plot(x,y):当有两个以上参数时,按照x轴和y轴顺序绘制数据点

pyplot的plot()函数

plt.plot(x,y,format_string,**kwargs)
  • x:x轴数据,列表或数组,可选
  • y:y轴数据,列表或数组
  • format_string:控制曲线的格式字符串,可选由颜色字符、风格字符和标记字符组成
    \"Python数据分析——Matplotlib数据可视化基础(一)_第6张图片\"
    \"Python数据分析——Matplotlib数据可视化基础(一)_第7张图片\"
    \"Python数据分析——Matplotlib数据可视化基础(一)_第8张图片\"
  • **kwargs:第二组或更多(x,y,format_string)
  1. color:控制颜色,color=‘black’
  2. linestyle:线条风格,linestyle=‘dashed’
  3. marker:标记风格,marker=‘0’
  4. markerfacecolor:标记颜色,markerfacecolor=‘blue’

注:当绘制多条曲线时,各条曲线的x不能省略

例:

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()

\"Python数据分析——Matplotlib数据可视化基础(一)_第9张图片\"

pyplot的中文显示

  • 第一种:pyplot并不默认支持中文显示,需要rcParams修改字体实现

例1:

import matplotlib.pyplot as plt
import matplotlib

matplotlib.rcParams[\'font.family\']=\'SimHei\'  #黑体
plt.plot([3,1,4,5,2])
plt.ylabel(\"纵轴(值)\")
plt.savefig(\'test\',dpi=600)
plt.show()

\"Python数据分析——Matplotlib数据可视化基础(一)_第10张图片\"

  • rcParams属性:
    \"Python数据分析——Matplotlib数据可视化基础(一)_第11张图片\"
    例2:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib

matplotlib.rcParams[\'font.family\']=\'STSong\'  
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()

\"Python数据分析——Matplotlib数据可视化基础(一)_第12张图片\"

  • 第二种方法:在有中文输出的地方,增加一个属性:fontproperties(建议使用)
import numpy as np
import matplotlib.pyplot as plt

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()

\"Python数据分析——Matplotlib数据可视化基础(一)_第13张图片\"

pyplot子绘图区域

plt.subplot2grid(GrindSpec,CurSpec,colspan=1,rowspan=1)

例:

import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec

gs = gridspec.GridSpec(3,3)

ax1 = plt.subplot(gs[0,:])
ax2 = plt.subplot(gs[1,:-1])
ax3 = plt.subplot(gs[1:,-1])
ax4 = plt.subplot(gs[2,0])
ax5 = plt.subplot(gs[2,1])

\"Python数据分析——Matplotlib数据可视化基础(一)_第14张图片\"

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号