Python(matplotlib)基本图形绘制
一、matplotlib的三层结构
二、简单图形绘制
三、辅助显示层
1.显示刻度
2.添加网格
3.添加描述信息
4.显示图例
四、图像层(常见图像)
1.折线图
2.散点图
3.柱状图
4.直方图
5.饼图
一、matplotlib的三层结构
1.容器层
包含
canvas,最底层的系统层,充当画板的角色。
figure,canvas上方的应用层的第一层,充当画布的角色。
axes,figure上方的应用层的第二层,充当绘图区/坐标系。
2.图像层
指在axes上通过plot,scatter等函数根据数据绘制出的图像
3.辅助显示层
指在axes上的除了根据数据绘制出的图像以外的内容,eg 外观(facecolor),边框线(spines),坐标轴(axis),坐标轴名称(axis label),刻度(tick),标题(title),图例(legend),网格线(grid)等。该层主要给图形添加描述性信息等,使得图形更加直观,不影响图像的显示效果。
注意:
1)canvas位于最底层为系统层,用户一般接触不到;figure位于canvas之上;axes位于figure之上;axis、grid等辅助层以及图像层位于axes之上。
2)figure指整个图形,可以通过plt.figure()设置画布的大小和分辨率等;axes是数据的绘图区域/坐标系;axis是坐标系中的坐标轴,包含大小限制,刻度等。
2)一个figure可以有多个axes,一个axes可以有多个axis,包含2个则对应的axes为2D坐标系。
二、简单图形绘制
matplotlib绘图主要内容在图像层和辅助显示层,而容器层的figure只需要plt.figure()创建即可,默认一个figure有一个axes,可以通过subplot实现多个axes的多图绘制。
图形绘制的基本步骤: 准备数据→创建画布→绘制图像→显示图像
import matplotlib.pyplot as plt
import random
#0、数据
x = range(0, 20)
y = [random.uniform(10, 30) for i in range(0, 20)]
#1、创建画布
plt.figure()
#2、绘制图像
plt.plot(x, y)
#3、图像显示
plt.show()
三、辅助显示层
1.显示刻度
import matplotlib.pyplot as plt
import random
from pylab import mpl
#设置显示字体
mpl.rcParams['font.sans-serif']=['SimHei']黑体
#设置正常显示符号
mpl.rcParams['axes.unicode_minus']=False
# 0、准备数据
x=range(1,21)
y=[random.uniform(10,30) for i in range(0,20)]
# 1、创建画布
plt.figure(figsize=(20,8))
# 2.绘制图像
plt.plot(x,y</