折线图

一.折线图简介(Line Chart)

折线图用于显示数据在一个连续的时间间隔或者时间跨度上的变化,它的特点是反映事物随时间或有序类别而变化的趋势

在折线图中可以清晰的看出数据递增还是递减、增减的速率、增减的规律和峰值特征。折线图常用来分析数据随时间的变化趋势,也可用来分析多组数据随时间变化的相互作用和相互影响。在折线图中横轴通常用来表示时间跨度且时间间隔相同,纵轴表示不同时间时刻的数据值。

二.折线图的组成

一个折线图的构成包括:

  1. 横轴:表示时间
  2. 纵轴:表示数值
  3. 点:表示数据的位置
  4. 线:表示数据之间的趋势关系

三.使用场景

适用的场景

  1. 适用于自变量连续,因变量有序的场景

不适用的场景

  1. 当水平轴的数据类型为无序的分类或者垂直轴的数据类型为连续时间时,不适合使用折线图。

四.实现

在matplotlib中使用plot方法实现折线图。plot方法介绍如下:

plot(args,scalex = True,scaley = True,data = None,** kwargs)

参数1:x:可迭代数值类型(长度必须与Y相等),指定x轴数据,默认range(len(y))

参数2:y:可迭代数值类型,指定y轴数据

参数3:fmt : 字符串型(可选),指定格式字符串,格式为[marker][linestyle][color]

  • marker:指定标记点样式
  • linestyle:指定折线线性
  • color:指定线条颜色

参数4:scalex : bool型, (可选), 默认True,指定X视图是否适用于数据限制

参数5:scalex: bool型, (可选), 默认True,指定Y视图是否适用于数据限制。

参数6:data : 指定需要标记的数据(可选)

参数7:** kwargs:接受的关键字参数传递给Line2D类实例。

返回值:绘制数据的Line2D类实例列表

  1. *args传递的可变参数包含x, y, fmt
  2. Line2D类详解

实现代码

import matplotlib.pyplot as pltimport numpy as npx_data = np.array(['2011', '2012', '2013', '2014', '2015', '2016', '2017'])
y_data = np.array([58000, 60200, 63000, 71000, 84000, 90500, 107000])
y_data2 = np.array([52000, 54200, 51500, 58300, 56800, 59500, 62700])# 初始化画图图框
figure, ax = plt.subplots(1, 2)# 画y_data
line1 = ax[0].plot(y_data, marker='o', lw=2, ls='--', markersize=6, markerfacecolor='r', label="line1")
ax[0].legend()
ax[0].set_xticks(range(len(y_data)))
ax[0].set_xticklabels(x_data)
ax[0].set_title("line1", fontsize=20, fontweight="bold")
ax[0].set_xlabel("year", fontsize=15)
ax[0].set_ylabel("amount", fontsize=15)# 画y_data2
line2 = ax[1].plot(y_data2, marker='o', lw=2, ls='-', color='k', markersize=6, markerfacecolor='b', label="line2")
ax[1].legend()
ax[1].set_xticks(range(len(y_data)))
ax[1].set_xticklabels(x_data)
ax[1].set_title("line2", fontsize=20, fontweight="bold")
ax[1].set_xlabel("year", fontsize=15)
ax[1].set_ylabel("amount", fontsize=15)plt.show()

实现效果如下

如果希望更加美观可以做如下更改

  1. ax[0].grid(True):画网格
  2. ax[1].grid(True):画网格
  3. plt.style.use('ggplot'):使用ggplot样式

效果如下:

可以使用text标记每一个标记点的数值,完整程序如下:

# 画y_data
line1 = ax[0].plot(y_data, lw=2, color='k', label="line1", marker='o', markerfacecolor='g')
ax[0].legend()
ax[0].set_xticks(range(len(y_data)))
ax[0].set_xticklabels(x_data)
ax[0].set_title("line1", fontsize=20, fontweight="bold")
ax[0].set_xlabel("year", fontsize=15)
ax[0].set_ylabel("amount", fontsize=15)
ax[0].grid(True)# 对数据进行标记
for x_, y_ in zip(range(len(y_data)), y_data):ax[0].text(x_, y_, y_, ha='left', va='top', color='red')# 画y_data2
line2 = ax[1].plot(y_data2, lw=2, color='k', label="line2", marker='o', markerfacecolor='g')
ax[1].legend()
ax[1].set_xticks(range(len(y_data)))
ax[1].set_xticklabels(x_data)
ax[1].set_title("line2", fontsize=20, fontweight="bold")
ax[1].set_xlabel("year", fontsize=15)
ax[1].set_ylabel("amount", fontsize=15)
ax[1].grid(True)# 对数据进行标记
for x_, y_ in zip(range(len(y_data2)), y_data2):ax[1].text(x_, y_, y_, ha='left', va='top', color="red")plt.show()

效果如下:

五.参考

  1. 堆叠图介绍

# 可视化常见绘图(二)折线图相关推荐

  1. 可视化常见绘图(五)散点图

    可视化常见绘图(五)散点图 一.散点图简介 散点图也叫 X-Y 图,它将所有的数据以点的形式展现在直角坐标系上,以显示变量之间的相互影响程度,点的位置由变量的数值决定. 通过观察散点图上数据点的分布情 ...

  2. 数据可视化图表之面积折线图

    相信不少制作报表大屏的人都会遇到一个问题:我要制作每个月收入和支出趋势的报表,是要用折线图还是面积图?到底用什么图表来展示比较好?其实每个图表都有自己的特点,都有适合展示的数据类型,只要你熟悉了解每个 ...

  3. 用户数据销售额分析动态大屏看板+大屏数据可视化图表组件(折线图+圆柱图+散点图+饼图+漏斗图+雷达图+水位图)+智能web端高保真大数据动态可视化大屏看板+中国动态地图+智慧电商实时动态数据大屏看板

    作品内容:用户数据销售额分析动态大屏看板+大屏数据可视化图表组件(折线图+圆柱图+散点图+饼图+漏斗图+雷达图+水位图)+web端高保真大数据动态可视化大屏看板+中国动态地图+电商实时动态数据大屏看板 ...

  4. MATLAB二维绘图(二)向图中添加标题,坐标轴,图标和文字信息

    MATLAB二维绘图(二)向图中添加标题,坐标轴,图标和文字信息 1.添加标题.图例.x轴信息和y轴信息,示例: %% 添加标题 clear; clc; close all; x = 0:0.1:2* ...

  5. 【Python_绘图】折线图与散点图

    接续博文 "[Python_绘图]折线图" CSDN 功能 数据:读取表格(可指定Sheet表--也可指定Sheet表中的特定列) 绘图样式:多条折线图+散点图 → 标记点折线图 ...

  6. MATLAB | 绘图复刻(二) | 折线图+误差棒+柱状图+散点抖动+灰色背景+图片叠加

    看到gzh R语言ggplot2科研绘图发布了一篇绘图复刻类文章,复刻了: Nature(IF=49.962)文章(Gut microbiota modulates weight gain in mi ...

  7. 数据分析入门之Matplotlib数据可视化基础(散点图、折线图、直方图、饼图、箱线图)

    文章目录 1.掌握pyplot基础语法 1.1.基本绘图流程 1.2.创建画布与创建子图 1.2.1.设置画布大小 1.2.2.添加图列 1.2.3.解决中文乱码 1.3.添加画布内容 1.4.保存与 ...

  8. 数据可视化:柱状图、折线图、饼图等六种基本图表的特点及适用场合

    图表是"数据可视化"的常用手段,其中又以基本图表--柱状图.折线图.饼图等等--最为常用. 一.柱状图(Bar Chart) 柱状图是最常见的图表,也最容易解读. 它的适用场合是二 ...

  9. Python数据可视化之散点图和折线图

    最近一直用到Python的matplotlib包,一些画简单的散点图和折线图的用法老是记不住,所以从最基础的地方开始,稍微总结了一下. 一.散点图 画散点图时主要用到的是scatter函数. 随机产生 ...

最新文章

  1. PTA数据结构与算法题目集(中文)7-29
  2. NGINX + PHP 安装配置
  3. AI研习丨专题:因果推断与因果性学习研究进展
  4. b+树阶怎么确定_你知道危险品运输是怎么包装的吗?
  5. 关于PHP程序员解决问题的能力
  6. 链表选择排序算法功能实现演示
  7. Swiper学习之二---swiper的配置选项 ①
  8. 数学 之 hdu 4710 Balls Rearrangement
  9. SharpMap在web上的应用
  10. C#串口操作实际应用开发详解
  11. 纪录黑马程序员的真实生活
  12. 计算机软件产品类退税,软件产品增值税退税政策详解.doc
  13. Android 性能测试工具- Emmagee
  14. 原型设计Axure下载安装
  15. 制作简单的个人Logo
  16. 博睿APM获《金融电子化》2021年金融业新技术应用创新突出贡献奖
  17. ubuntu安装nividia驱动
  18. 加速计陀螺仪信息采集
  19. Windows10平台优秀软件及设置调整
  20. 在Ubuntu 10.04中安装 insight

热门文章

  1. 基于重要抽样技术的非序贯蒙特卡洛法(Matlab代码实现)
  2. 敷完面膜后要擦水乳吗_敷面膜后要用爽肤水还是乳液 你不得不知道的护肤小习惯问题...
  3. 苹果远程服务器未响应,win10 远程服务器未响应
  4. html2canvas 图片合成模糊以及保存为图片背景图丢失问题解决
  5. 达梦数据库操作常见问题与解决办法
  6. 控制台上画三角形圆和直线
  7. 写好一份软件开发设计文档
  8. PingCAP DevCon 2021 万字长文回顾:预见数据技术的未来生态
  9. 起点读书QDSign QDInfo signature算法分析
  10. Java中printf()方法里的%d和%s是什么意思?