其他辅助显示层完善折线图 | Python 数据可视化库 Matplotlib 快速入门之十

解决中文问题 | Python 数据可视化库 Matplotlib 快速入门之九

其他辅助显示层完善折线图

添加网格显示

为了更加清楚的观察图形对应的值
添加代码:

plt.grid(True, linestyle = "--", alpha = 0.5)

执行结果:

其他辅助显示层完善折线图 | Python 数据可视化库 Matplotlib 快速入门之十

添加描述信息

添加x轴,y轴描述信息及标题

plt.xlable("时间变化")
plt.ylable("温度变化")
plt.title("某城市11点到12点每分钟的温度变化状况")

执行结果:

其他辅助显示层完善折线图 | Python 数据可视化库 Matplotlib 快速入门之十

此时想要再添加一个城市的信息,该如何操作呢?
要想给原始的折线图再添加一个信息,需要在图像层做出修改。

完善原始折线图(图像层)

需求:再添加一个城市的温度变化
收集到北京当天温度变化情况,温度在1度到3度。

多次plot

怎么去添加另一个在同一坐标系当中的不同图形, 其实很简单只需要再次plot即可, 但是需要区分线条, 如下:

准备数据,添加代码:

y_beijing = [random.uniform(1, 3) for i in x]

plt.plot(x, y_beijing)

plt.title("上海、北京11点到12点每分钟的温度变化状况")

执行结果:

其他辅助显示层完善折线图 | Python 数据可视化库 Matplotlib 快速入门之十

如果此时不想是默认的颜色,我们也可以进行改变。

plt.plot(x, y_shanghai, color = "r")
plt.plot(x, y_beijing, color = "b")

执行结果:

其他辅助显示层完善折线图 | Python 数据可视化库 Matplotlib 快速入门之十

此时改变线条风格:

plt.plot(x, y_shanghai, color = "r", linestyle = "--")

执行结果:

其他辅助显示层完善折线图 | Python 数据可视化库 Matplotlib 快速入门之十

还有一些其它的风格,我们可以来看一下。

设置图形风格

颜色字符 风格字符
r 红色 - 实线
g 绿色 -- 虚线
b 蓝色 -. 点划线
w 白色 : 点虚线
c 青色 ' ' 留空、空格
m 洋红
y 黄色
k 黑色

我们还需要给图加上图例来完善。

显示图例

修改代码:

plt.plot(x, y_shanghai, color = "r", linestyle = "-.", label = "上海")
plt.plot(x, y_beijing, color = "b", label = "北京")

plt.legend()

执行结果:

其他辅助显示层完善折线图 | Python 数据可视化库 Matplotlib 快速入门之十

此时我们用的是默认的方式。

  • 注意:如果只在plt.plot()中设置label还不能最终显示出图例, 还需要通过plt.legend()将图例显示出来。

我们也可以调整图例的位置。

plt.legend(loc = "lower left")

执行结果:

其他辅助显示层完善折线图 | Python 数据可视化库 Matplotlib 快速入门之十

或者

plt.legend(loc = 4)

执行结果:

其他辅助显示层完善折线图 | Python 数据可视化库 Matplotlib 快速入门之十

图例位置代码:

Location String Location Code
'best' 0
'upper right' 1
'upper left' 2
'lower left' 3
'lower right' 4
'right' 5
'center left' 6
'center right' 7
'lower center' 8
'upper center' 9
'center' 10

完整代码:

import random
# 1、准备数据 x,y
x = range(60)
y_shanghai  = [random.uniform(15, 18) for i in x]
y_beijing = [random.uniform(1, 3) for i in x]

# 2、创建画布
plt.figure(figsize=(20, 8), dpi=80)

# 3、绘制图像
plt.plot(x, y_shanghai, color = "r", linestyle = "-.", label = "上海")
plt.plot(x, y_beijing, color = "b", label = "北京")

# 显示图例
plt.legend()

# 修改x,y刻度
# 准备x的刻度说明
x_lable = ["11点{}分".format(i) for i in x] 
plt.xticks(x[::5], x_lable[::5])
plt.yticks(range(0, 40, 5))

# 添加网格显示
plt.grid(True, linestyle = "--", alpha = 0.5)

# 添加描述信息
plt.xlable("时间变化")
plt.ylable("温度变化")
plt.title("上海、北京11点到12点每分钟的温度变化状况")

# 4、显示图
plt.show()

配套视频课程,点击这里查看

获取更多资源请订阅Python学习站

上一篇:实现水下精准测量:三星智能手环全新防水压力传感器


下一篇:2017双11-开启智能全链路压测之路