文章目录
- 基础应用
- 其他要素
- 图例
- 调整刻度
- 美观度相关
- 颜色、点的形状、线的样式
- 背景网格
就总结一下我最近用到的,下次忘记了好复习,不是教程
基础应用
画一个由多条线组成的折线图
fig = plt.figure()
plt.xlabel("xlabel") # 设置x轴名称
plt.ylabel("ylabel") # 设置y轴名称
x = np.arange(1, 11) # x轴数据
y1 = np.arange(1,11,1) # y轴数据1
y2 = np.arange(1,20,2) # y轴数据2
y3 = np.arange(1,30,3) # y轴数据3
plt.plot(x, y1) # 画第1条线
plt.plot(x, y2) # 画第2条线
plt.plot(x, y3) # 画第3条线
plt.show()
效果如下
其他要素
图例
在划线的plot()方法中给他的label属性赋值,告诉figure每条线都是个啥,然后最后调用legend()方法显示图例
代码举例如下
fig = plt.figure()
plt.xlabel("xlabel") # 设置x轴名称
plt.ylabel("ylabel") # 设置y轴名称
x = np.arange(1, 11) # x轴数据
y1 = np.arange(1,11,1) # y轴数据1
y2 = np.arange(1,20,2) # y轴数据2
y3 = np.arange(1,30,3) # y轴数据3
plt.plot(x, y1, label="A") # 画第1条线 标签为A
plt.plot(x, y2, label="B") # 画第2条线 标签为B
plt.plot(x, y3, label="C") # 画第3条线 标签为C
plt.legend() # 显示图例
plt.show()
效果如下
调整刻度
需要用到MultipleLocator这个类。
from matplotlib.pyplot import MultipleLocator
代码示例如下
fig = plt.figure()
plt.xlabel("xlabel") # 设置x轴名称
plt.ylabel("ylabel") # 设置y轴名称
x_major_locator=MultipleLocator(1)#把x轴的刻度间隔设置为1,并存在变量里
y_major_locator=MultipleLocator(5)#把y轴的刻度间隔设置为10,并存在变量里
ax=plt.gca()#ax为两条坐标轴的实例
ax.xaxis.set_major_locator(x_major_locator)#把x轴的主刻度设置为1的倍数
ax.yaxis.set_major_locator(y_major_locator)#把y轴的主刻度设置为10的倍数
x = np.arange(1, 11) # x轴数据
y1 = np.arange(1,11,1) # y轴数据1
y2 = np.arange(1,20,2) # y轴数据2
y3 = np.arange(1,30,3) # y轴数据3
plt.plot(x, y1) # 画第1条线
plt.plot(x, y2) # 画第2条线
plt.plot(x, y3) # 画第3条线
plt.show()
效果如下
美观度相关
颜色、点的形状、线的样式
plot()方法的第三个参数为格式控制字符串(这个是简写的,每个字符其实还是有对应的属性的,属性注在下面的括号里)。
第一个字符一般用于颜色(color),第二个为点的形状(marker),第三个为线的样式(linestyle)
代码举例如下
fig = plt.figure()
plt.xlabel("xlabel") # 设置x轴名称
plt.ylabel("ylabel") # 设置y轴名称
x = np.arange(1, 11) # x轴数据
y1 = np.arange(1,11,1) # y轴数据1
y2 = np.arange(1,20,2) # y轴数据2
y3 = np.arange(1,30,3) # y轴数据3
plt.plot(x, y1, 'ks--', label="A") # 画第1条线 标签为A 黑色、方形点、--格式的线
plt.plot(x, y2, 'r^-.', label="B") # 画第2条线 标签为B 红色、三角形点、-.格式的线
plt.plot(x, y3, 'bo-', label="C") # 画第3条线 标签为C 蓝色、圆形点、直线
plt.legend() # 显示图例
plt.show()
效果如下
各种格式对应的字符查询表如下
字符 | linestyle |
- | 实线 |
– | 由横线构成的虚线(这是两个横啊,上面那个粘两次) |
-. | 由横线和点构成的虚线 |
: | 由点构成的虚线 |
字符 | marker |
. | point marker |
, | pixel marker |
o | circle marker |
v | triangle_down marker |
^ | triangle_up marker |
< | triangle_left marker |
> | triangle_right marker |
1 | tri_down marker |
2 | tri_up marker |
3 | tri_left marker |
4 | tri_right marker |
s | square marker |
p | pentagon marker |
* | star marker |
h | hexagon1 marker |
H | hexagon2 marker |
+ | plus marker |
x | x marker |
D | diamond marker |
d | thin_diamond marker |
| | vline marker |
_ | hline marker |
每个marker的效果如下
颜色的字符太多了,这个网站有总结,用的时候可以查表
背景网格
使用grid()方法来显示背景网格
代码示例如下
fig = plt.figure()
plt.xlabel("xlabel") # 设置x轴名称
plt.ylabel("ylabel") # 设置y轴名称
x = np.arange(1, 11) # x轴数据
y1 = np.arange(1,11,1) # y轴数据1
y2 = np.arange(1,20,2) # y轴数据2
y3 = np.arange(1,30,3) # y轴数据3
plt.plot(x, y1) # 画第1条线
plt.plot(x, y2) # 画第2条线
plt.plot(x, y3) # 画第3条线
plt.grid(linestyle='-.') # 画网格
plt.show()
效果如下
其中linestyle的值和上面样式里的字符是一样的