折线图
将值标注成点,并通过直线
将这些点
按照某种顺序连接起来形成的图。场景:数据在一个有序的因变量上的变化,它的特点是反应事物随类别而变化的趋势,可以清晰展现数据的增减趋势、增减的速率、增减的规律、峰值等特征。优点:
需求1: 画出厦门及北京两个城市11点到12点1小时内每分钟的温度变化折线图。厦门温度范围在15度~18度
北京温度范围在1度~3度
。示例代码如下:
import matplotlib.pyplot as plt
import random
# 1.创建一个新图 简单理解为一个画板
# figsize可选:指定图的宽高 dpi: 图的分辨率 返回一个fig对象
plt.figure(figsize=(20, 8), dpi=80)
# 2.构造x,y坐标的数据
x = range(60) # x坐标: 模拟0-60分钟
# random.uniform用于生成一个指定范围内的随机符点数
y_xiamen = [random.uniform(15,18) for i in range(60)] # 厦门温度
y_beijing = [random.uniform(1,3) for i in range(60)] # 北京温度
# 3.画折线图
plt.plot(x, y_xiamen, label="厦门") # 厦门温度显示
# color: 颜色 linestyle: 线型
plt.plot(x, y_beijing, label="北京", color="r", linestyle="--") # 北京温度显示
# 4.美化折线图
# 构造中文列表的字符串
x_ch = ["11点{}分".format(i) for i in x]
y_ticks = range(40)
# 4.1 添加刻度: 修改x,y坐标的刻度
plt.xticks(x[::5], x_ch[::5]) # x: 要显示的刻度值
plt.yticks(y_ticks[::5])
# plt.yticks(y_ticks[::5])
# 4.2 增加标题 x轴/y轴描述信息
plt.xlabel("时间")
plt.ylabel("温度")
plt.title("一些城市中午11点0分到12点之间的温度变化图示")
# 4.3 添加图例: 默认值为最佳loc="best" 也可以省略 可以根据实际情况自行设置
# loc除了设置为best之外 还有可以设置为 upper/lower/center left/right/center 并且可以使用数字代替
# plt.legend(loc="center left")
plt.legend(loc=2) # 2代表左上 写数字并不直观
plt.legend(loc="best") # 0,"best" 代表右上
plt.savefig("weather.png") # 保存图形到本地
# 5.显示图形
plt.show()
上述代码执行结果如下:
原创文章 34获赞 592访问量 3万+
关注
私信
展开阅读全文
作者:Amo Xiang