信息含量非常高的图-平行坐标图

逻辑寻梦
• 阅读 160

信息含量非常高的图-平行坐标图

作者:伍正祥 

来源:AI入门学习

一、图形概述

平行坐标是一种通常的可视化方法, 用于对 高维几何多元数据的可视化。为了表示在高维空间的一个点集, 在N条平行的线的背景下,一个在高维空间的点被表示为一条拐点在N条平行坐标轴的折线,在第K个坐标轴上的位置就表示这个点在第K个维的值。

平行坐标是信息可视化的一种重要技术。 为了克服传统的笛卡尔直角坐标系容易耗尽空间、 难以表达三维以上数据的问题, 平行坐标将高维数据的各个变量用一系列相互平行的坐标轴表示, 变量值对应轴上位置。 为了反映变化趋势和各个变量间相互关系,往往将描述不同变量的各点连接成折线。所以平行坐标图的实质是将 维欧式空间的一个点Xi(xi1,xi2,...,xim) 映射到 维平面上的一条曲线。

平行坐标图可以表示超高维数据。 平行坐标的一个显著优点是其具有良好的数学基础, 其射影几何解释和对偶特性使它很适合用于可视化数据分析。下面我们看看具体的应用案例。

二、案例学习

Millward Brown每年都会总结全球范围内最具价值的品牌,Valerio Pellegrini根据2010至2015年的前100位品牌的排名变化,下图是利用平行坐标图进行可视化的结果,从图中可以看出来,谷歌、IBM、苹果、微软的排名都比较稳定,变动不大,而处于中下的公司,每年的排名波动则比较大,并且每年都有新进品牌。非常清晰的实现了多样本、多维度的对比分析。

信息含量非常高的图-平行坐标图

100 MOST VALUABLE BRANDS 2010-15

下面的平行坐标图也是对1990至2013年,全球移民目的地和来源地的排名进行了可视化。

信息含量非常高的图-平行坐标图

《全球移民路线图:美国为移民首选目的地》网易数读

下面的图,表达了1978年—2017年,大陆各省人均GDP的名次变化,图中包含的信息量非常大。

1)40年来,北京、上海、天津一直占据top 3,只不过换了个位置

2)天津一度占据榜首

3)黑龙江和甘肃高开低走,就像瀑布一样一泻千里

4)福建低开高走,上升迅猛,都说福建人会做生意,此数据显示,不假

5)贵州打开跌停板,近几年摆脱垫底,估计是贵阳发展大数据的原因

6)海南冲高回落,几乎又回到了原点

还包含了更多的信息,比如每个大BOSS任期内,是否存在重大扶持的省份等……

信息含量非常高的图-平行坐标图

下图是1978年—2017年,大陆各省总体GDP的名次变化,同样包含特别多的信息,大家可以分析下。

信息含量非常高的图-平行坐标图

(1978-2017年全国各省区GDP排名,不含香港、澳门、台湾,数据来源国家统计局及各省统计年鉴,制图@张靖/星球研究所)

在平行坐标图中,每个变量都有自己的轴线,所有轴线彼此平行放置,各自可有不同的刻度和测量单位,一系列的直线穿越所有轴线来表示不同数值。

另外,虽然轴线排列没有固定的顺序,但是因为相邻变量会比非相邻的变量更容易进行比较,所以轴线排列的顺序可能会影响读者理解数据。

在平行坐标图里,各轴的单位一般是不相同的,所以不能进行跨轴的数据比较。但是在上文提到的关于不同年份的排名时,由于是对相同变量的可视化,所以可以进行跨轴比较。因而,在读图时,我们要注意各轴的测量单位。

三、绘图指南

1、R语言绘图

说实话,R语言的这个包绘图比较丑,大家有没有更好的包推荐,上面的案例,基本上都有组合P图的痕迹,直接画的软件还没发现比较好的。

安装与加载包

install.packages('lattice')

library(lattice)

data(iris)

parallelplot(

   ~ iris[1:4],

   data = iris,

   groups = Species,

   horizontal.axis = FALSE,#是否要垂直展示

   scales = list(x = list(rot = 90))

  )

信息含量非常高的图-平行坐标图

2、线上Echarts绘图

网址链接:http://echarts.baidu.com/exam...

信息含量非常高的图-平行坐标图

改变图中的代码,即可完成想要的图

信息含量非常高的图-平行坐标图

信息含量非常高的图-平行坐标图

点赞
收藏
评论区
推荐文章
blmius blmius
4年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
美凌格栋栋酱 美凌格栋栋酱
7个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
梦
4年前
微信小程序new Date()转换时间异常问题
微信小程序苹果手机页面上显示时间异常,安卓机正常问题image(https://imghelloworld.osscnbeijing.aliyuncs.com/imgs/b691e1230e2f15efbd81fe11ef734d4f.png)错误代码vardate'2021030617:00:00'vardateT
Stella981 Stella981
3年前
SpringBoot学习:整合shiro自动登录功能(rememberMe记住我功能)
首先在shiro配置类中注入rememberMe管理器!复制代码(https://oscimg.oschina.net/oscnet/675f5689159acfa2c39c91f4df40a00ce0f.gif)/cookie对象;rememberMeCookie()方法是设置Cookie的生成模
Wesley13 Wesley13
3年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Easter79 Easter79
3年前
SpringBoot学习:整合shiro自动登录功能(rememberMe记住我功能)
首先在shiro配置类中注入rememberMe管理器!复制代码(https://oscimg.oschina.net/oscnet/675f5689159acfa2c39c91f4df40a00ce0f.gif)/cookie对象;rememberMeCookie()方法是设置Cookie的生成模
Python进阶者 Python进阶者
1年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这