IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python数据可视化(微课版)-平行坐标系法 -> 正文阅读

[Python知识库]Python数据可视化(微课版)-平行坐标系法

3.7.1? 平行坐标系及应用场景

1.平行坐标系简介

平行坐标系是信息可视化的一种重要技术,它是可视化高维几何和分析多元数据的常用方法。为了克服传统的笛卡尔直角坐标系不能表达三维及其以上数据的问题,平行坐标系将高维数据的各个变量用一系列相互平行的坐标轴表示,变量值对应轴上的位置。为了反映变化趋势和各个变量间相互关系,往往将描述不同变量的各点连接成折线。

尽管平行坐标系是折线图类型,但和普通的折线图是有区别的,平行坐标系不局限于描述单一趋势关系,如时间序列的不同时间点,可以为不同类型变量的数值描述。

平行坐标系的缺点在于:在数据非常密集时它们可能过于杂乱,导致难以辨认。解决此问题的通常做法是在图中突出显示感兴趣的对象或集合,同时淡化其它对象,这样就可以在滤除噪声的同时描述重要的内容。

此外,平行坐标系中,轴的排列顺序可能会影响对数据的理解,这是由于相邻变量之间的关系比非相邻变量更容易理解。因此,对坐标轴进行重新排序可以帮助发现变量之间的潜在模式。同时,平行坐标系描述的大多数是数值变量的关系,而对于定性或分类变量比较勉强。

2.应用场景

需要对三维及其以上数据进行可视化分析,一般与时间序列密切相关,轴与时间点不对应,没有固定的轴顺序。

例如,为了分析北京、上海、广州三个城市的天气情况,我们收集了过去一周三个城市的空气质量指数(AQI)、PM2.5、PM10等数据,使用Echarts绘制了三个城市空气质量状况的平行坐标系,如图3-19所示。

图3-19? 三个城市空气质量状况

3.7.2? Python案例实战

该企业2014至2020年,在全国六个销售区域的商品利润增长率数据如表3-9所示。

表3-9 ?商品年利润增长率

销售大区

2014

2015

2016

2017

2018

2019

2020

业绩评估

西北

1.18

1.26

0.3

2.82

2.03

2.62

2.02

Bad

华中

7.18

9.26

12.3

6.82

9.03

4.62

2.82

OK

西南

6.18

7.26

10.3

4.82

8.03

3.32

6.12

OK

华南

9.18

9.26

13.3

13.82

14.63

11.62

15.12

Good

东北

8.18

8.26

10.3

11.82

13.03

14.52

10.12

Good

华东

10.98

18.66

20.83

15.62

17.93

16.82

19.62

Excellent

为了研究西北、华中、西南、华南、东北和华东等6个地区,在2014年至2020年共计7年每一年的利润情况,我们使用Pyecharts库绘制最近7年各个地区利润增长率的平行坐标系,其中业绩评估分为Bad、OK、Good和Excellent共4种,代码如下:

#导入相关库

import pyecharts.options as opts

from pyecharts.charts import Parallel

#设置坐标系维度

parallel_axis = [

??? {"dim": 0,"name": "销售大区","type": "category"},

??? {"dim": 1,"name": "2014年"},

??? {"dim": 2,"name": "2015年"},

??? {"dim": 3,"name": "2016年"},

??? {"dim": 4,"name": "2017年"},

??? {"dim": 5,"name": "2018年"},

??? {"dim": 6,"name": "2019年"},

??? {"dim": 7,"name": "2020年"},???

??? {"dim": 8,"name": "业绩评估","type": "category","data": ["Bad", "OK","Good","Excellent"],

??? } ]

#数据设置

data = [["西北",1.18,1.26,0.3,02.82,2.03,2.62,2.02,"Bad"],

??????? ["华中",7.18,9.26,12.3,6.82,9.03,4.62,2.82,"OK"],

??????? ["西南",6.18,7.26,10.3,4.82,8.03,3.32,6.12,"OK"],

??????? ["华南",9.18,9.26,13.3,13.82,14.63,11.62,15.12,"Good"],

??????? ["东北",8.18,8.26,10.3,11.82,13.03,14.52,10.12,"Good"],

??????? ["华东",10.98,18.66,20.83,15.62,17.93,16.82,19.62,"Excellent"]

?????? ]

#绘制平行坐标系

def Parallel_splitline() -> Parallel:

??? c = (

??????? Parallel()

??????? .add_schema(schema=parallel_axis)

??????? .add(

???????????? series_name="",

???????????? data=data,

???????????? linestyle_opts=opts.LineStyleOpts(width=4, opacity=0.5),

??????????? )

??????? )

??? return c

#第一次渲染时候调用load_javascript文件

Parallel_splitline().load_javascript()

#展示数据可视化图表

Parallel_splitline().render_notebook()

在Jupyter lab中运行上述代码,生成如图3-20所示的平行坐标系,可以看出:在最近7年的销售情况比较中,华东地区的业绩表现优秀,东北地区和华南地区表现较好,西南地区和华中地区表现一般,西北地区表现较差。

图3-20? 平行坐标系

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-05-16 11:18:33  更:2022-05-16 11:19:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 13:41:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码