【matplotlib 实战】--折线图

这篇具有很好参考价值的文章主要介绍了【matplotlib 实战】--折线图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

折线图是一种用于可视化数据变化趋势的图表,它可以用于表示任何数值随着时间或类别的变化。

折线图由折线段和折线交点组成,折线段表示数值随时间或类别的变化趋势,折线交点表示数据的转折点。

折线图的方向表示数据的变化方向,即正变化还是负变化,折线的斜率表示数据的变化程度。

1. 主要元素

折线图主要由以下四个元素组成:

  1. 数据点:折线图中的每个数据点都代表着一个时间点或一个数值。
  2. 折线:折线图中的线条代表着数据的变化趋势。
  3. X轴:一般是有序变量,表示数据点的变化区间。
  4. Y轴:数据点在不同时刻的值。

【matplotlib 实战】--折线图

2. 适用的场景

折线图适用于以下分析场景:

  • 趋势分析:折线图可以用于展示数据的增长、下降、波动等趋势,帮助分析人员了解数据的变化趋势。
  • 问题诊断:折线图可以用于数据异常检测,帮助分析人员快速发现数据的异常情况。

3. 不适用的场景

折线图不适用于以下分析场景:

  • 数据分类和分组:折线图不适用于数据分类和分组分析,因为折线图主要用于展示数据的变化趋势,而不是数据的分类和分组情况。
  • 数据回归分析:折线图不适用于数据回归分析,因为回归分析需要建立在数据样本中的线性关系,而折线图主要用于展示数据的变化趋势,不能很好地反映数据的线性关系。

4. 分析实战

4.1. 数据来源

数据来源国家统计局公开数据,已经整理好的csv文件在:https://databook.top/nation/A03

本次分析使用其中的 A0301.csv 文件(总人口数据)。

下面的文件路径 fp 要换成自己实际的文件路径。

import pandas as pd

fp = "d:/share/A0301.csv"

df = pd.read_csv(fp)
df

【matplotlib 实战】--折线图

4.2. 数据清理

首先看看 zbCN 字段中有多少种不同的人口统计类别。

df.groupby(by="zbCN").count()

【matplotlib 实战】--折线图

这个数据集中一共有5种不同维度的人口统计:

  1. 年末总人口
  2. 男性人口
  3. 女性人口
  4. 城镇人口
  5. 乡村人口

按照类别,将它们分离成5个不同的数据集,为了绘制折线图做准备。

groups = df.groupby(by="zbCN")

dict_group = {}
for g in groups:
    dict_group[g[0]] = g[1]

for k, v in dict_group.items():
    print("key = {}, value type = {}".format(k, type(v)))

【matplotlib 实战】--折线图

groupby 函数按照 by 参数指定的字段将数据集分组,每个group是一个二元的元组。
第一个元素是用来分组的字段值,第二个元素是分组之后的数据集。

4.3. 分析结果可视化

拆分好数据集之后,最就是可视化展示。

首先封装一个函数,用来显示2个数据:
(直接使用上面分割好的数据集dict_group

import pandas as pd

import matplotlib
import matplotlib.pyplot as plt
from matplotlib.ticker import MultipleLocator

%matplotlib inline

#为了显示中文
matplotlib.rcParams["font.sans-serif"] = ["Microsoft YaHei Mono"]
matplotlib.rcParams["axes.unicode_minus"] = False

#根据key显示两个数据集
def draw(key1, key2):
    with plt.style.context("seaborn-v0_8"):
        fig = plt.figure()
        ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
        ax.xaxis.set_major_locator(MultipleLocator(4))
        ax.xaxis.set_minor_locator(MultipleLocator(2))

        data = dict_group[key1]
        ax.plot(data["sjCN"], data["value"], "b--o", label=key1)

        data = dict_group[key2]
        ax.plot(data["sjCN"], data["value"], "g:d", label=key2)
        ax.legend()

首先看下男女人口的变化趋势:

key1 = "女性人口(万人)"
key2 = "男性人口(万人)"
#男性人口和女性人口的变化趋势
dict_group[key1] = dict_group[key1].sort_values("sj")
dict_group[key2] = dict_group[key2].sort_values("sj")

draw(key1, key2)

【matplotlib 实战】--折线图

看这个趋势变化,男女人口的差距长期都在几千万上下,所以找不到女朋友也许不是你的责任 : )

再看看城镇和乡村的人口变化。

key1 = "乡村人口(万人)"
key2 = "城镇人口(万人)"
#乡村人口和城镇人口的变化趋势
dict_group[key1] = dict_group[key1].sort_values("sj")
dict_group[key2] = dict_group[key2].sort_values("sj")

draw(key1, key2)

【matplotlib 实战】--折线图

从图中可以看出,1994年左右,乡村人口开始进入城镇;
2010年左右,城镇人口开始超越乡村人口,且人口差距越来越大。

折线图最适合的场景就是展示这类有趋势变化的数据。文章来源地址https://www.toymoban.com/news/detail-711892.html

到了这里,关于【matplotlib 实战】--折线图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python使用matplotlib实现折线图的绘制

    一、意义 数据可视化可以以简洁的方式呈现出数据,发现众多数据中隐藏的规律和意义。Matplotlib是一个数学绘图库。利用它可以制作简单的图表(散点图、折线图)。然后,将基于漫步概念生成一个更有趣的数据集–根据一系列随机决策生成的图表。本文我们主要练习折线

    2024年02月12日
    浏览(35)
  • matplotlib进阶教程:如何逐步美化一个折线图

    大家好,今天分享一个非常有趣的 Python 教程,如何美化一个 matplotlib 折线图, 喜欢记得收藏、关注、点赞。 注:数据、完整代码、技术交流文末获取 1. 导入包 2. 获得数据 数据长得是这样的: 3. 对数据做一些预处理 按照需要,对数据再做一些预处理,代码及效果如下:

    2024年02月03日
    浏览(161)
  • Python使用Matplotlib绘制三维折线图(进阶篇)

    三维图像技术是现在国际最先进的计算机展示技术之一,任何普通电脑只需要安装一个插件,就可以在网络浏览器中呈现三维的产品,不但逼真,而且可以动态展示产品的组合过程,特别适合远程浏览。 立体图视觉上层次分明色彩鲜艳,具有很强的视觉冲击力,让观看的人驻

    2024年02月05日
    浏览(63)
  • 【Python】Python中使用Matplotlib绘制折线图、散点图、饼形图、柱形图和箱线图

    python数据可视化课程,实验二 Matplotlib 中文API:API 概览 | Matplotlib 一、实验任务的数据背景 提供的源数据(数据文件employee.csv)共拥有4个特征,分别为就业人员、第一产业就业人员、第二产业就业人员、第三产业就业人员。根据3个产业就业人员的数量绘制散点图和折线图。

    2023年04月15日
    浏览(96)
  • 【Python】matplotlib之折线图的各种样式和画法

    上述图的完整代码如下: 直线: linestyle = ‘-’ 或 省略 破折线: linestyle = ‘–’ 或 linestyle = ‘dashed’ 点划线: linestyle = ‘-.’ 或 linestyle = ‘dashdot’ 虚线: linestyle = ‘:’ 或 linestyle = ‘dotted’ ‘s’ : 方块状 ‘o’ : 实心圆 ‘^’ : 正三角形 ‘v’ : 反正三角形 ‘+’

    2023年04月08日
    浏览(76)
  • Python Matplotlib数据可视化绘图之(二)————箱线图

    本文我们主要介绍利用Python中的Matplotlib模块进行几种箱线图的画法,包括整张图片只有一种颜色的不分组箱线图、整张图片有好几种颜色的不分组箱线图、整张图片有好几种颜色的分组箱线图等。 主要利用Python中的Matplotlib模块完成该功能。 表格如下(示例): 班别 语文成

    2024年02月05日
    浏览(55)
  • Python 之 Matplotlib 散点图、箱线图和词云图

    在最开始,先引入我们的 numpy 和 matplotlib 库。 同时,对基本配置进行设置,将中文字体设置为黑体,不包含中文负号,分辨率为 100,图像显示大小设置为 (5,3)。 散点图也叫 X-Y 图,它将所有的数据以点的形式展现在直角坐标系上,以显示变量之间的相互影响程度,点的位置

    2024年02月04日
    浏览(45)
  • python中的matplotlib画折线图(数据分析与可视化)

    先导包(必须安装了numpy 、pandas 和matplotlib才能导包): 核心代码: 效果图: 已完成,再见。

    2024年02月11日
    浏览(46)
  • python-matplotlib-箱线图为不同的箱体设置不同颜色

    方法: 实战:

    2024年02月07日
    浏览(48)
  • Python使用Matplotlib库绘制双y轴图形(柱状图+折线图)

    今天是第一次写 踩坑日记 系列,这个系列用来记录在Python和R学习过程中遇到的问题和结果。今天介绍的是使用Python的matplotlib库绘制两个y轴图的一些基本用法与踩坑行为。希望可以帮助到大家,也希望大家可以给出建议,欢迎留言交流。 Matplotlib是Python数据分析中常用的可视

    2024年02月15日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包