matplotlib折线图,文字显示,win10

本文指导如何使用matplotlib库在Python中创建折线图,展示从10点到12点每分钟气温的数据。通过随机生成模拟数据,演示了如何设置x轴刻度标签和中文显示,以及添加图例和标题。

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

matplotlib

matplotlib:最流行的Python底层绘图库,主要做数据可视化图表,名字取材于MATLAB,模仿MATLAB构建

from matplotlib import pyplot as plt#导入pyplot

#figure表示图形图标
#dpi指的是每英寸上像素点的个数
x=range(2,26,2)
#定义x轴2~24步长为2
y=[14,13,14.5,17,2,23,25,26,24,22,18,15]
#设置图片大小
fig =plt.figure(figsize=(20,8),dpi=80)
#绘图
plt.plot(x,y)

#绘制x轴刻度这里不可以直接使用0.5步长因此定义一个如下
_xtick_labels=[i/2 for i in range(4,49)]
plt.xticks(range(2,27))
plt.xticks(range(min(y),max(y)+1))
#保存图片
plt.savefig("./sig_size.png")#可以保存为svg这种矢量图格式,放大不会有锯齿
plt.show()

在这里插入图片描述

问题:
如果列表a表示10点到12点的每一分钟的气温,如何绘制折线图观察每分钟气温的变化情况?
a=[random.randlint(20,35) for i in range(120)]

from matplotlib import pyplot as plt
import random#随机函数
x=range(0,120)
y=[random.randint(20,35) for i in range(120)]
plt.figure(figsize=(20,8),dpi=80)
plt.plot(x,y)
#调整x轴的刻度
_x=list(x)
_xtick_labels=["10点{}分".format(i) for i in range(60)]
_xtick_labels+=["11点{}分".format(i) for i in range(60)]
#取步长
plt.xticks(_x[::3],_xtick_labels[::3],rotation=45)#rotation=45旋转45°

plt.show()

在这里插入图片描述
设置中文显示
在这里插入图片描述法一:(推荐)

from matplotlib import pyplot as plt
import random#随机函数
#!!只要这一行
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
x=range(0,120)
y=[random.randint(20,35) for i in range(120)]
plt.figure(figsize=(20,8),dpi=80)
plt.plot(x,y)
#调整x轴的刻度
_x=list(x)
_xtick_labels=["10点{}分".format(i) for i in range(60)]
_xtick_labels+=["11点{}分".format(i) for i in range(60)]
#取步长
plt.xticks(_x[::3],_xtick_labels[::3],rotation=45) #rotation=45旋转45°
#添加描述信息
plt.xlabel('时间')
plt.ylabel('温度:单位(℃)')
plt.title('十点到十二点气温变化情况')
plt.show()

法二:

from matplotlib import pyplot as plt
import random#随机函数
from matplotlib import font_manager
#另外一种设置字体的方式
my_font=font_manager.FontProperties(fname='C:\WINDOWS\FONTS\MSYHL.TTC')
x=range(0,120)
y=[random.randint(20,35) for i in range(120)]
plt.figure(figsize=(20,8),dpi=80)
plt.plot(x,y)
#调整x轴的刻度
_x=list(x)
_xtick_labels=["10点{}分".format(i) for i in range(60)]
_xtick_labels+=["11点{}分".format(i) for i in range(60)]
#取步长
plt.xticks(_x[::3],_xtick_labels[::3],rotation=45,fontproperties=my_font)#rotation=45旋转45°
#添加描述信息
plt.xlabel("时间",fontproperties=my_font)
plt.ylabel("温度 单位(℃)",fontproperties=my_font)
plt.title("10点到12点每分钟的气温变化情况",fontproperties=my_font)
plt.show()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

` starmultiple `

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值