大家好!今天我将分享如何使用matplotlib绘制一周内温度变化:
昨天回顾:
1.学习了如何绘制两点直线和绘制折线图和查看matplotlib的风格
2.学习了如何设置线条宽度和添加标题
3.学习了如何中文乱码问题
4.学习了如何在x轴,y轴添加名称
5.学习了如何在matplotlib展示图像
matplotlib第一天:绘制两点直线和绘制折线图和查看matplotlib的风格 - 掘金 (juejin.cn)
忘了的可以点击上面链接进行回顾!
首先也是引入maplotlib这一模块:
昨天忘记介绍了引入maplotlib这一模块有常见的两种方式:
import matplotlib.pyplot as plt
from matplotlib import pyplot as plt
两者之间的区别如下:
第一种你可以使用 plt 作为 Matplotlib 模块的别名,通过 plt 来调用模块中的函数和方法。
第二种你可以直接使用 plt 来调用被引入的函数或类,而不需要在调用时加上模块名前缀。
总的来说第一种方式更常见,因为它可以更清晰地表明所使用的函数或方法来自于 Matplotlib 模块。
接下来我们进入主题:
from matplotlib import pyplot as plt
#构造数据
max_temperature = [26,30,31,32,33]
min_temperature = [12,16,16,17,18]
#生成x
x=range(5)
#用于解决中文乱码问题
plt.rcParams['font.family'] = ['simHei']
x_ticks = [f'星期{i}' for i in range(1,6)]
plt.title("某年某周第N周的温度")
#给x,y轴添加名称
plt.xlabel("周")
plt.ylabel("温度.单位(℃)")
#设置x轴标签
plt.xticks(x,x_ticks)
#填充数据
plt.plot(x,max_temperature,label="最高温度")
plt.plot(x,min_temperature,label="最低温度")
#显示图例
plt.legend(loc="upper left")
接下来是代码讲解:
1.第一行代码从 Matplotlib 模块中引入了 pyplot 子模块,并将其别名设置为 plt。这样我们可以使用 plt 来调用 pyplot 中的函数和方法。
2.第二行代码的数据是我随便输的,不做要求。
range(5)
3.这行代码是返回一个包含 0 到 4 的整数序列,那为什么是 range(5) 不是range(4), range(6) 呢?请注意,我在上面第二行代码输入的数据为 [26,30,31,32,33] 和 [12,16,16,17,18] ,它们为5个数据。 range(5) 呢其实就是x 轴上的五个刻度点,这样,绘制的折线图中的每个数据点都会与 x 轴上的相应刻度对应起来。
4.x_ticks = [f'星期{i}' for i in range(1,6)] 的意思是通过使用了列表推导式实现['星期1', '星期2', '星期3', '星期4', '星期5']。这些标签将用作 x 轴刻度对应的标签。
5.plt.title("某年某周第N周的温度")这是一个新知识,字如其意,就是给图像一个标题。(很好记的!)
plt.xlabel("周")
plt.ylabel("温度.单位(℃)")
这两行代码分别设置了 x 轴和 y 轴的标签为 "周" 和 "温度.单位(℃)"。
plt.xticks(x,x_ticks)
这行代码设置了 x 轴的刻度和标签,使用了之前定义的 x 序列作为刻度,x_ticks 列表作为对应的标签。
plt.plot(x,max_temperature,label="最高温度")
plt.plot(x,min_temperature,label="最低温度")
这两行代码分别绘制了最高温度和最低温度的折线图。plt.plot() 函数接受 x 值和 y 值作为参数,这里的 x 值是之前定义的 x 序列,y 值分别是最高温度和最低温度的列表。label 参数用于设置每条线的标签。
plt.legend(loc="upper left")
这行代码表示的设置图例并且移动它的位置。
图例(legend)是用于解释图表中各个元素对应含义的标记。
Matplotlib 提供了多个位置选项来控制图例的位置,例如:
"upper right":右上角"upper left":左上角"lower right":右下角"lower left":左下角"center":居中
通过调用 plt.legend() 函数并传入合适的位置参数,可以将图例添加到图表中的适当位置。
今天的学习总结:
1.表示x轴的刻度点
2.如何设置x轴和y轴的标签
-
使用 plot.title() 给图像一个标题
-
如何使用 plt.legend() 设置图例并且移动它的位置
好了,今天就讲到这里了,希望与各位一起学习数据分析,有问题可以在评论区提问,我非常愿意与大家一同探讨!