matplotlib_01_折线图

本文介绍如何使用Python的Matplotlib库绘制天气数据图表,包括上海一周天气趋势和两城市一小时内每分钟温度变化的折线图,展示了数据可视化的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# 需求一:展现上海一周的天气
from matplotlib import pyplot as plt

# 设置图形字体为SimHei,显示中文(否则图形显示的时候中文会乱码)
plt.rcParams['font.sans-serif']=['SimHei']
# 设置正常显示字符
plt.rcParams['axes.unicode_minus']=False
# figsize(画布长宽),dpi(图像倾斜度)
plt.figure(figsize = (15,10),dpi = 80)

x = [1,2,3,4,5,6,7]
y = [17, 17, 18, 15, 11, 11, 13]
# 绘图(指定x,y坐标值)
plt.plot(x,y)

#修改x,y轴的刻度
x_label = ('星期{}'.format(i) for i in x)
y_label = ('{}℃'.format(i) for i in y)

# plt.xticks(x,**kwargs)
# plt.yticks(x,**kwargs)
plt.xticks(x,x_label)
plt.yticks(y,y_label)
print(x_label)

# 展示图片
plt.show()

在这里插入图片描述

# 需求二:画出某两个城市11点到12点1小时内每分钟的温度变化折线图,温度范围在15度~18度

# -*- encoding: utf-8 -*-
import random
from matplotlib import pyplot as plt

plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False

x = range(120)
# 随机均匀分布,循环随机60次,xy个数需要一致
y_shanghai = [random.uniform(15, 18) for i in x]
y_shenzhen = [random.uniform(20, 25) for i in x]
# 画布
plt.figure(figsize=(15, 10), dpi=100)

# **图像层**
# 绘图(坐标轴)
# color:折线图的颜色,label:折线图的标签,linestyle:折线图的线条风格
plt.plot(x, y_shanghai, color='y', label='上海', linestyle='-.')
plt.plot(x, y_shenzhen, color='g', label='深圳', linestyle='-')

# *辅助显示层*
# 添加辅助性说明以及更改坐标轴外观,使图像展示的信息更加清晰(坐标轴名称、刻度、网格线、图例、title等)

# legend显示图例
# 如果绘图时plt.plot中未设置label,则无法显示图例
plt.legend()

# 修改x,y的刻度
x_label = ["11点{}分".format(i) for i in range(60)]
x_label += ["12点{}分".format(i) for i in range(60)]
y_label = ["{}℃".format(i) for i in range(40)]

# x_label的步长要与x一致
plt.xticks(x[::5], x_label[::5],rotation = 45)
# 修改y的刻度,刻度间隔为5,也可以这样书写:plt.yticks(range(0,40,5))
plt.yticks(range(40)[::5], y_label[::5])

# 添加网格(True是否添加网格,可省略;linestyle:网格格式;alpha:透明度)
plt.grid(True, linestyle='--', alpha=0.6)

# 添加坐标轴名称
plt.xlabel("时间")
plt.ylabel("温度")

# 添加title
plt.title("城市上午11-12点气温变化")

# 保存图片
plt.savefig('test1.png')

# 展示图片
plt.show()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值