解决中文问题 | Python 数据可视化库 Matplotlib 快速入门之九
其他辅助显示层完善折线图
添加网格显示
为了更加清楚的观察图形对应的值
添加代码:
plt.grid(True, linestyle = "--", alpha = 0.5)
执行结果:
添加描述信息
添加x轴,y轴描述信息及标题
plt.xlable("时间变化")
plt.ylable("温度变化")
plt.title("某城市11点到12点每分钟的温度变化状况")
执行结果:
此时想要再添加一个城市的信息,该如何操作呢?
要想给原始的折线图再添加一个信息,需要在图像层做出修改。
完善原始折线图(图像层)
需求:再添加一个城市的温度变化
收集到北京当天温度变化情况,温度在1度到3度。
多次plot
怎么去添加另一个在同一坐标系当中的不同图形, 其实很简单只需要再次plot即可, 但是需要区分线条, 如下:
准备数据,添加代码:
y_beijing = [random.uniform(1, 3) for i in x]
plt.plot(x, y_beijing)
plt.title("上海、北京11点到12点每分钟的温度变化状况")
执行结果:
如果此时不想是默认的颜色,我们也可以进行改变。
plt.plot(x, y_shanghai, color = "r")
plt.plot(x, y_beijing, color = "b")
执行结果:
此时改变线条风格:
plt.plot(x, y_shanghai, color = "r", linestyle = "--")
执行结果:
还有一些其它的风格,我们可以来看一下。
设置图形风格
颜色字符 | 风格字符 |
---|---|
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()
执行结果:
此时我们用的是默认的方式。
- 注意:如果只在plt.plot()中设置label还不能最终显示出图例, 还需要通过plt.legend()将图例显示出来。
我们也可以调整图例的位置。
plt.legend(loc = "lower left")
执行结果:
或者
plt.legend(loc = 4)
执行结果:
图例位置代码:
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学习站