1 matplotlib了解
Matplotlib
可能是Python 2D
- 绘图领域使用最广泛的套件。它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。这里将会探索matplotlib
的常见用法。
2 matplotlib学习
2.1 引用
plt
表示当前子图,若没有就创建一个子图
元素 | 作用 |
---|---|
Figure | 面板(图),matplotlib 中的所有图像都是位于 figure 对象中,一个图像只能有一个 figure 对象 |
Subplot | 子图, figure 对象下创建一个或多个 subplot 对象(即 axes )用于绘制图像 |
import matplotlib.pyplot as plt
2.2 配置参数
参数 | 作用 |
---|---|
axex | 设置坐标轴边界和表面的颜色、坐标刻度值大小和网格的显示 |
figure | 控制 dpi 、边界颜色、图形大小、和子区( subplot )设置 |
font | 字体集( font family )、字体大小和样式设置 |
grid | 设置网格颜色和线性 |
legend | 设置图例和其中的文本的显示 |
line | 设置线条(颜色、线型、宽度等)和标记 |
patch | 是填充2D空间的图形对象,如多边形和圆,控制线宽、颜色和抗锯齿设置等 |
savefig | 可以对保存的图形进行单独设置。例如,设置渲染的文件的背景为白色 |
verbose | 设置matplotlib在执行期间信息输出,如silent 、helpful 、debug 和 debug-annoying |
xticks 和 yticks | 为x,y 轴的主刻度和次刻度设置颜色、大小、方向,以及标签大小 |
语法
- 设置标题
Title
import matplotlib.pyplot as plt
# 1. 定义英文标题
plt.title("myTitle")
# 2. 定义中文标题 (需要加上下面那句话)
plt.title("标题")
plt.rcParams['font.sans-serif']=['SimHei']
plt.show()
2. 设置 Figure
对象
在
matplotlib
中,整个图像为一个Figure
对象。在Figure
对象中可以包含一个或者多个Axes
对象。每个Axes(ax)
对象都是一个拥有自己坐标系统的绘图区域。
语法:
figure( num=None , figsize=None , dpi=None, facecolor=None , edgecolor=None , frameon=True )
字段含义:
num
: 图像编号或名称,数字为编号 ,字符串为名称
figsize
: 指定figure的宽和高,单位为英寸;
dpi
: 参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80
,1
英寸等于2.5cm
,A4
纸是21*30cm
的纸张
facecolor
: 背景颜色
edgecolor
: 边框颜色
frameon
: 是否显示边框
import matplotlib.pyplot as plt
1. 绘画 4×3英寸,背景颜色为 skyblue 的图像
plt.figure(figsize=(4,3),facecolor='skyblue')
plt.show()
2. 绘制x轴和y轴头尾的数据
plt.plot(6, 3)
plt.plot(3, 8)
plt.show()
- 绘制点和线
plt.plot()
函数用于画图,绘制点和线。
语法:plt.plot(x, y, format_string )
x
:x
轴数据,列表或数组,可选
y
:y
轴数据,列表或数组
format_string
: “格式控制字符串”,可选,由颜色字符、风格字符和标记字符组成
import matplotlib.pyplot as plt
import numpy as np
1. x为x轴数据, y为y轴数据 [列表]
plt.figure(figsize=(6,3))
# 创建数据 x,y元素个数N应相同
x = [3,4,5]
y = [1,3,1]
# 绘制折线图 (3,1) (4,3) (5,1)
plt.plot(x,y)
# 显示图形
plt.show()
2. x, y可传入(元组)
x=(3,4,5) # (元组)
# np.array
y=np.array([3,4,3])
plt.plot(x,y)
# (3,3) (4,4) (5,3)
plt.show()
- x轴和y轴
1. 绘制x轴和y轴
# x轴坐标轴
plt.xlim(0,6)
# y轴坐标轴
plt.ylim((0, 3))
# x 轴标签
plt.xlabel('X')
# y 轴标签
plt.ylabel('Y')
plt.show()
2. 如果将数字改成负数,需要添加下面一句话,为了防止乱码
plt.rcParams['axes.unicode_minus']=False
plt.xlim(0,-6)
plt.ylim((0, -3))
plt.xlabel('X')
plt.ylabel('Y')
plt.show()
参考文献
[1] matplotlib中文网
[2] 菜鸟教程
[3] 知乎1
[4] 知乎2