在绘图结构中,figure创建窗口,subplot创建子图。所有的绘画只能在子图上进行
窗口➡子图
流程:先创建窗口,再在窗口的基础下创建子图。

显示中文

pyplot.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号

Figure:面板(图),matplotlib中的所有图像都是位于figure对象中,一个图像只能有一个figure对象。
Subplot:子图,figure对象下创建一个或多个subplot对象(即axes)用于绘制图像。

配置参数:

axex: 设置坐标轴边界和表面的颜色、坐标刻度值大小和网格的显示
figure: 控制dpi、边界颜色、图形大小、和子区( subplot)设置
font: 字体集(font family)、字体大小和样式设置
grid: 设置网格颜色和线性
legend: 设置图例和其中的文本的显示
line: 设置线条(颜色、线型、宽度等)和标记
patch: 是填充2D空间的图形对象,如多边形和圆。控制线宽、颜色和抗锯齿设置等。
savefig: 可以对保存的图形进行单独设置。例如,设置渲染的文件的背景为白色。
verbose: 设置matplotlib在执行期间信息输出,如silent、helpful、debug和debug-annoying。
xticks和yticks: 为x,y轴的主刻度和次刻度设置颜色、大小、方向,以及标签大小。
axis([0, 6, 0, 20]) # 设置坐标轴的限制[xmin, xmax, ymin, ymax]

线条相关属性标记设置

线条风格linestyle或ls 描述
‘-‘ 实线
‘:’ 虚线
‘–’ 破折线
‘None’,’ ‘,’’ 什么都不画
‘-.’ 点划线

================================================

标记maker 描述

‘o’ 圆圈
‘.’ 点
‘D’ 菱形
‘s’ 正方形
‘h’ 六边形1
‘*’ 星号
‘H’ 六边形2
‘d’ 小菱形
‘_’ 水平线
‘v’ 一角朝下的三角形
‘8’ 八边形
‘<’ 一角朝左的三角形
‘p’ 五边形
‘>’ 一角朝右的三角形
‘,’ 像素
‘^’ 一角朝上的三角形
‘+’ 加号
‘\ ‘ 竖线
‘None’,’’,’ ‘ 无
‘x’ X

==========================================

颜色

别名 颜色

b 蓝色
g 绿色
r 红色
y 黄色
c 青色
k 黑色
m 洋红色
w 白色

如果这两种颜色不够用,还可以通过两种其他方式来定义颜色值:
1、使用HTML十六进制字符串 color=’#123456’ 使用合法的HTML颜色名字(’red’,’chartreuse’等)。
2、也可以传入一个归一化到[0,1]的RGB元祖。 color=(0.3,0.3,0.4)

===========================================

设置画布fig = plt.figure()

plt.figure(num, figsize, dpi, facecolor, edgecolor, frameon, FigureClass, clear)的参数说明如下
fig.jpg

设置轴(子图)

plt.subplots()
plt.subplots(23)即表示一次性在figure上创建成2*3的网格

ax = plt.subplot(231)
ax = plt.subplot(232)
ax = plt.subplot(233)
ax = plt.subplot(234)
ax = plt.subplot(235)
ax = plt.subplot(236)

231是指23表格中的第一个格子232是指23第二个以此类推。

plot的多个参数

plot(t, t, 'r--', t, t2, 'bs', t, t3, 'g^') # 可以直接在一个函数中传入多个图像参数

pyplot 模块中提供了为图形添加标签的函数

pyplot.png

subplot() 子图

标准写法为plt.subplot(nrows=r, ncols=c, index=i),当子图数量小于10时,可以简写为plt.subplot(rci)

subplot2grid()跨区域画图

跨区域.jpg

axes()

axes([left, bottom, width, height]) 可以指定子图的具体位置
subplot()不同的是,axes()是在主图上叠加其他的子图,主图可以有自己的内容,而subplot()是子图的并列,没有主图。

plt.text() # 指定位置插入文字