文章目录

  • 基础应用
  • 其他要素
  • 图例
  • 调整刻度
  • 美观度相关
  • 颜色、点的形状、线的样式
  • 背景网格


就总结一下我最近用到的,下次忘记了好复习,不是教程

基础应用

画一个由多条线组成的折线图

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

效果如下

python画出好看的多条曲线图 python3如何绘制多条折线图_数据可视化

其他要素

图例

在划线的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()

效果如下

python画出好看的多条曲线图 python3如何绘制多条折线图_python_02

调整刻度

需要用到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()

效果如下

python画出好看的多条曲线图 python3如何绘制多条折线图_代码示例_03

美观度相关

颜色、点的形状、线的样式

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

效果如下

python画出好看的多条曲线图 python3如何绘制多条折线图_代码示例_04


各种格式对应的字符查询表如下

字符

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的效果如下

python画出好看的多条曲线图 python3如何绘制多条折线图_python画出好看的多条曲线图_05

颜色的字符太多了,这个网站有总结,用的时候可以查表

背景网格

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

效果如下

python画出好看的多条曲线图 python3如何绘制多条折线图_python画出好看的多条曲线图_06

其中linestyle的值和上面样式里的字符是一样的