其他辅助显示层完善折线图 | Python 数据可视化库 Matplotlib 快速入门之十-阿里云开发者社区

开发者社区> Python学习站> 正文

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

简介: 本节介绍了利用辅助显示层和图像层完善折线图包括添加网格,描述信息,添加一个新的折线图,以及设置图形风格,添加图例等。

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

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

添加网格显示

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

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

执行结果:

image.png

添加描述信息

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

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

执行结果:

image.png

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

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

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

多次plot

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

准备数据,添加代码:

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

plt.plot(x, y_beijing)

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

执行结果:

image.png

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

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

执行结果:

image.png

此时改变线条风格:

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

执行结果:

image.png

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

设置图形风格

颜色字符 风格字符
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()

执行结果:

image.png

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

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

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

plt.legend(loc = "lower left")

执行结果:

image.png

或者

plt.legend(loc = 4)

执行结果:

image.png

图例位置代码:

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学习站

版权声明:本文中所有内容均属于阿里云开发者社区所有,任何媒体、网站或个人未经阿里云开发者社区协议授权不得转载、链接、转贴或以其他方式复制发布/发表。申请授权请邮件developerteam@list.alibaba-inc.com,已获得阿里云开发者社区协议授权的媒体、网站,在转载使用时必须注明"稿件来源:阿里云开发者社区,原文作者姓名",违者本社区将依法追究责任。 如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
Python学习站
使用钉钉扫一扫加入圈子
+ 订阅

Python学习资料大全,包含Python编程学习、实战案例分享、开发者必知词条等内容。

官方博客
官网链接