教你Python数据分析——折线图

准备工作

下载matplotlib库

在日常我们可能很多学生听过Matlab,Matlab是一个数据分析的大佬软件,可以做各种各样的数学建模方面的工作。但是本次的课程我们使用Python语言作为数据分析的基础,所以我们需要使用Python中的matplotlib库来完成数据分析。如何下载呢?打开我们的系统Shell,然后在Shell中输入下面的指令。

pip install matplotlib

有的同学会出现timeout的报错,这是因为matplotlib的内容存储在pypi的网站,我们国内下载的速度比较慢,python的pip又有一个计时器,超时就判定为下载失败。所以我们需要加一个国内源。这里我推荐使用中国科技大学的镜像源。那么下载的指令就是。

pip install matplotlib -i https://pypi.mirrors.ustc.edu.cn/simple/

在我们看到successful xxx xxx等字样之后代表下载成功。那么我们就可以开始使用Matplotlib了。

验证是否安装成功

那么在正式使用之前,我们还是需要先测试我们的库是否下载成功。那么如何才可以测试下载是否成功呢?那当然就是使用一次啦!

import matplotlib

写好这一行代码,直接运行,不报错,就说明下载完成了。有的同学可能会说为什么我运行后什么反应都没有呢???因为这一个代码没有任何的输出,没反应反而代表成功导入了。

Matplotlib

折线图

如何画出一个简单的折线图

首先我们思考一个问题!一个折线图是由什么组成的?线段?直线?点?没错,一个折线图就是很多个点,组成连线,连线组成了折线。虽然不是特别严谨,但是大体上是没问题的。那么我们要是想画一个折线,就要告诉Python这些点是什么,那么一个点就需要x坐标和y坐标表示。

那么Python中为我们提供的的画折线图的函数就是至少需要接收这些点x轴的坐标的列表和y坐标的列表。

那么我现在提供一些数据给同学!下面是贵阳市8月5日开始的天气情况。我们现在就来实现一下用折线图画出贵阳天气8.5-8.11的变化。

在这里插入图片描述

那么首先我们需要引入matplotlib库中的pyplot,代码如下

from matplotlib import pyplot as plt  # plt就是一个简称、缩写的意思,同学不写as plt也可以

然后我们需要录入一下数据,当然我们先来写一下最低气温的趋势。

date = ['8.5', '8.6', '8.7', '8.8', '8.9', '8.10', '8.11']
low_tem = [21, 21, 21, 23, 23, 23, 21]

最后我们需要做的就是画线,并展示画板。

plt.plot(date, low_tem)
plt.show()

运行效果如下:

在这里插入图片描述

1.1.3 让麻瓜看懂你的折线图

我们如果现在拿着这个折线图给路边的随机一个麻瓜,我们会发现他好像看不懂这是什么,那我们到底问题出在哪里呢?那就是我们没有标注,标题!那我们应该怎么做呢?

首先!我们需要先写出我们图表的标题也就是Title!

plt.title("贵阳市2024/8/5——2024/8/11温度变化")

在我们plt.show()之前把这个写好就可以。但是我们会发现一个问题,我们会发现我们的中文部分无法显示,如下图所示。

在这里插入图片描述

这是因为matplotlib的默认字体中无法显示中文,所以我们需要更改默认的字体。代码如下。

plt.rcParams['font.sans-serif']=['SimHei']    # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False    # 用来显示负号

把这个代码写在导入matplotlib之后即可。

在这里插入图片描述

然后我们还缺少一个图注,也就是蓝色的线代表了什么呢?那么我们只需要修改一行代码再加一行代码就可以了!

plt.plot(date, low_tem, label="最低气温")
plt.legend()

在这里插入图片描述

然后我们再来看我们的数据中还缺少什么呢?是不是发现x轴和y轴都没有写好标注?那我们怎么来写呢?

plt.xlabel("日期")
plt.ylabel("温度(℃)")

这样就可以了,这样就代表x轴是日期,y轴是温度了。

在这里插入图片描述

1.1.4 画两条线可以么

现在我们第一个最低气温画好了,那我们可以画第二个线么?当然可以了!再写一遍刚刚的就可以了。完整代码如下所示

from matplotlib import pyplot as plt  # plt就是一个简称、缩写的意思,同学不写as plt也可以

plt.rcParams['font.sans-serif']=['SimHei']    # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False    # 用来显示负号

date = ['8.5', '8.6', '8.7', '8.8', '8.9', '8.10', '8.11']
low_tem = [21, 21, 21, 23, 23, 23, 21]
high_tem = [28, 29, 31, 31, 29, 26, 27]

plt.xlabel("日期")
plt.ylabel("温度(℃)")

plt.plot(date, low_tem, label="最低气温")
plt.plot(date, high_tem, label="最高气温")
plt.legend()

plt.title("贵阳市2024/8/5——2024/8/11温度变化")
plt.show()

在这里插入图片描述

1.1.5 画一些重要的点

现在我们的折线图基本OK了,但是我们会发现例如8月5日和8月7日这样的日期,都属于重要的点位,但是并没有突出显示,那么我们应该怎么操作呢?这里我们就需要使用一个新的函数叫scatter

plt.scatter(date, low_tem)
plt.scatter(date, high_tem)

这样就可以将两条数据的点标注出来啦!

在这里插入图片描述

  • 14
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Loading_create

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

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

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

打赏作者

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

抵扣说明:

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

余额充值