第3章 大数据可视化方法
3.1可视化图介绍
一、统计图表介绍
在统计图表中每一种类型的图表中都可包含不同的数据可视化图形
- 如:柱状图、饼图、气泡图、热力图、趋势图、直方图、雷达图、色块图、漏斗图、和弦图、仪表盘、面积图、折线图、密度图以及K线图等。
柱状图
柱状图使用垂直或水平的柱子显示类别之间的数值比较。在柱状图中其中一个轴表示需要对比的分类维度,另一个轴代表相应的数值
柱形图又可分为纵向柱状图和横向柱状图
K线图
K 线图又称阴阳图、棒线、红黑线或蜡烛线,常用于展示股票交易数据。
K 线就是指将各种股票每日、每周、每月的开盘价、收盘价、最高价、最低价等涨跌变化状况,用图形的方式表现出来。
饼图
饼图用于表示不同分类的占比情况,通过弧度大小来对比各种分类。饼图通过将一个圆饼按照分类的占比划分成多个区块,整个圆饼代表数据的总量,每个区块(圆弧)表示该分类占总体的比例大小,所有区块(圆弧)的加和等于 100%。
折线图
折线图用于显示数据在一个连续的时间间隔或者时间跨度上的变化,它的特点是反映事物随时间或有序类别而变化的趋势。在折线图中,数据是递增还是递减、增减的速率、增减的规律(周期性、螺旋性等)、峰值等特征都可以清晰地反映出来
散点图
散点图是指在回归分析中,数据点在直角坐标系平面上的分布图,散点图表示因变量随自变量而变化的大致趋势,据此可以选择合适的函数对数据点进行拟合。
气泡图
气泡图是一种多变量图表,是散点图的变体,也可以认为是散点图和百分比区域图的组合。
雷达图
雷达又叫戴布拉图、蜘蛛网图。
传统的雷达图被认为是一种表现多维(4维以上)数据的图表。它将多个维度的数据量映射到坐标轴上,这些坐标轴起始于同一个圆心点。
面积图
- 面积图又叫区域图。
- 它是在折线图的基础之上形成的, 它将折线图中折线与自变量坐标轴之间的区域使用颜色或者纹理填充。
- 面积图又叫区域图。
漏斗图
漏斗图适用于业务流程比较规范、周期长、环节多的单流程单向分析,通过漏斗各环节业务数据的比较能够直观地发现和说明问题所在的环节,进而做出决策。
和弦图
和弦图是一种显示矩阵中数据间相互关系的可视化方法,在图中节点数据沿圆周径向排列,节点之间使用带权重(有宽度)的弧线链接。
环形图
环形图是由两个及两个以上大小不一的饼图叠在一起,挖去中间的部分所构成的图形,主要用于区分或表明某种关系。
直方图
直方图,形状类似柱状图却有着与柱状图完全不同的含义。
直方图牵涉统计学的概念,首先要对数据进行分组,然后统计每个分组内数据元的数量。
热力图
热力图以特殊高亮的形式显示访客热衷的页面区域和访客所在的地理区域的图示,热力图 可以显示不可点击区域发生的事情。
仪表盘图
仪表盘图是一种拟物化的图表,刻度表示度量,指针表示维度,指针角度表示数值。
密度图
密度图用于显示数据在连续时间段内的分布状况。这种图表是直方图的变种,使用平滑曲线来绘制数值水平,从而得出更平滑的分布
比较类图
比较类图可视化的方法通常是显示值与值之间的不同和相似之处。使用图形的长度、宽度、位置、面积、角度和颜色来比较数值的大小,通常用于展示不同分类间的数值对比以及不同时间点的数据对比。
分布类图
分布类图可视化的方法通常是显示频率,将数据分散在一个区间或分组,并使用图形的位置、大小、颜色的渐变程度来表现数据的分布。
流程类图
流程类图可视化方法通常是显示流程流转和流程流量。一般流程都会呈现出多个环节,每个环节之间会有相应的流量关系,因此这类图形可以很好的表示这些关系。
地图类图
地图类图可视化的方法是显示地理区域上的数据,并在显示时使用地图作为背景,通过图形的位置来表现数据的地理位置。地图类图通常用来展示数据在不同地理区域上的分布情况。
占比类图
占比类图可视化方法是可视化的方法显示同一维度上占比关系。
常见的占比类图主要有环图、马赛克图、饼图、堆叠面积图、堆叠柱状图以及矩形树图等。
区间类图
区间类图可视化方法是显示同一维度上值的上限和下限之间的差异
区间类图使用图形的大小和位置表示数值的上限和下限,通常用于表示数据在某一个分类(时间点)上的最大值和最小值。
关联类图
关联类图可视化的方法显示数据之间相互关系。关联类图使用图形的嵌套和位置表示数据之间的关系,通常用于表示数据之间的前后顺序、父子关系以及相关性。
时间类图
时间类图可视化的方法显示以时间为特定维度的数据。时间类图使用图形的位置表现出数据在时间上的分布,通常用于表现数据在时间维度上的趋势和变化。
趋势类图
趋势类图可视化的方法分析数据的变化趋势。趋势类图使用图形的位置表现出数据在连续区域上的分布,通常展示数据在连续区域上的大小变化的规律。
二、可视化图表的选择与使用技巧
1、可视化图表的选择
1)柱状图
- 柱状图利用柱子的高度,能够比较清晰的反映数据的差异,通常用于不同时期或不同类别数据之间的比较,也可以用来反映不同时期和不同数据的差异。
2)条形图
条形图用来反映分类项目之间的比较,适合应用于跨类别比较数据
在进行数据可视化时,如需要比较项类的大小、高低时适合使用条形图。
3)折线图
- 折线图是数据随着时间推移而发生变化的一种图表,可以预测未来的发展趋势,相对柱状图,折线图能反映较大数据集的走势,还适合多个数据集走势的比较。当需要描述事物随时间维度的变化时常常需要使用该图形。
4)饼图
饼图主要用来分析内部各个组成部分对事件的影响,其各部分百分比之和必须是100%。
在需要描述某一部分占总体的百分比时,适合使用饼图。
5)散点图
散点图使用两组数据构成多个坐标点,分析坐标点的分布情况,判断两个变量之间的关联或分布趋势。
如需要表达数据之间的关联关系,则可以使用散点图或是气泡图。
6)漏斗图
- 使用漏斗图可以清晰明了的看出每个层级的转化,如果想查看具体到每天的日期与实施转化数据的关系,则可以使用漏斗图。
2、可视化图表的使用技巧
折线图的使用技巧
- 用曲线和直线连接各点
- 颜色要清晰,不要与背景色和坐标轴颜色太解决
- 线条数量不超过四条
柱状图的使用技巧
- 颜色不超过三种
- 柱间的宽度和间隙适当
- 多个数据排序符合一定逻辑
饼图的使用技巧
- 适合一维数据
- 不适合精确数据比较
- 12点钟方向顺时针和自上而下
散点图的使用技巧
适合表示变量间相互关系
数据数量足够多
不同的系列的数据,应该使用不同的颜色
3.2 文本可视化
文字是传递信息最常用的载体,文本信息是互联网中最主要的信息类型。
与图形、语音和视频信息相比,文本信息体积更小、传输更快、并且更容易生成。
1、文本可视化的流程
文本可视化涵盖了信息收集、文本信息挖掘(数据预处理、数据挖掘、知识表示)、视觉绘制和交互设计等过程。
2、文本可视化的实现
3、文本可视化的类型
文本可视化类型,除了包含常规的图表类,如柱状图、饼图、折线图等表现形式,在文本领域用的比较多的可视化类型主要有以下三种:
(1)基于文本内容的可视化。基于文本内容的可视化研究包括基于词频的可视化和基于词汇分布的可视化,常用的有词云、分布图和 Document Cards 等。
(2)基于文本关系的可视化。基于文本关系的可视化研究文本内外关系,帮助人们理解文本内容和发现规律。常用的可视化形式有树状图、节点连接的网络图、力导向图、叠式图和 Word Tree 等。
(3)基于多层面信息的可视化
基于多层面信息的可视化主要研究如何结合信息的多个方面帮助用户从更深层次理解文本数据,发现其内在规律
其中,包含时间信息和地理坐标的文本可视化近年来受到越来越多的关注。常用的有地理热力图、ThemeRiver、SparkClouds、TextFlow 和基于矩阵视图的情感分析可视化等。
4、词云概述及实现方法
1) 词云概述
词云,也称为标签云或是文字云,它是一种典型的文本可视化技术
词云对文本中出现频率较高的“关键词”予以视觉上的突出,从而形成“关键词云层”或“关键词渲染”。
2) 词云的实现
在线词云的制作
使用Python3制作词云
【例3-1】制作英文词云,代码如下:
from wordcloud import WordCloud import matplotlib.pyplot as plt with open('1.txt','r') as f: mytext = f.read() wordcloud = WordCloud().generate(mytext) plt.imshow(wordcloud,interpolation="bilinear") plt.axis("off") plt.show()
【例3-2】制作中文词云,代码如下
from wordcloud import WordCloud
import jieba
with open('2.txt','r',encoding='UTF-8') as f:
text= f.read()
cut_text =" ".join(jieba.cut(text))
cloud = WordCloud(
#设置字体,不指定就会出现乱码
font_path=" C:\\Windows\\Fonts\\STXINGKA.TTF",
#font_path=path.join(d,'simsun.ttc'),
#设置背景色
background_color='white',
#词云形状
max_words=4000,
#最大号字体
max_font_size=60
)
wCloud = cloud.generate(cut_text)
wCloud.to_file('cloud.jpg')
import matplotlib.pyplot as plt
plt.imshow(wCloud, interpolation='bilinear')
plt.axis('off')
plt.show()
3.3 网络可视化
网络可视化通常是展示数据在网络中的关联关系,一般用于描绘互相连接的实体,例如社交网络。
社交网络图侧重于显示网络内部的实体关系,它将实体作为节点,一张社交网络图可以由无数多的节点组成,并用边连接所有的节点。
树图也是社交网络图的常见表现形式,也是一种流行的利用包含关系表达层次化数据的可视化方法。
由于其呈现数据时高效的空间利用率和良好的交互性,受到众多的关注。
使用Python3制作社交网络图
在Python3中可以制作社交网络图,在制作时需先导入networkx库,该库是一个用Python语言开发的图论与复杂网络建模工具,内置了常用的图与复杂网络分析算法,可以方便的进行复杂网络数据分析、仿真建模等工作。
使用networkx库绘制网络图时,常用node表示节点,cycle表示环(通常环是封闭的),edges表示边。
3.4空间信息可视化
空间信息可视化是指运用计算机图形图像处理技术,将复杂的科学现象和自然景观及一些抽象概念图形化的过程。
- 空间信息可视化常用地图学、计算机图形图像技术,将地学信息输入、查询、分析、处理,采用图形、图像,结合图表、文字、报表,以可视化形式,实现交互处理和显示的理论、技术和方法。
空间信息可视化的主要表现形式有:
- 地图、多媒体信息、动态地图、三维仿真地图以及虚拟现实等。
在Python3中可以通过导入Matplotlib Axes3D子库来绘制3D图形
空间信息可视化应用
空间信息可视化的应用十分广泛,已经涉及大多数国民经济行业。
(1)图是表达数据的最直观、最强大的方式之一,通过图的展示能够将数据进行优雅的变换,从而让枯燥的数字能吸引人们注意力。
(2)在统计图表中每一种类型的图表中都可包含不同的数据可视化图形,如柱状图、饼图、气泡图、热力图、趋势图、直方图、雷达图、色块图、漏斗图、和弦图、仪表盘、面积图、折线图、K线图以及图等。
3.5本章小结
(1)图是表达数据的最直观、最强大的方式之一,通过图的展示能够将数据进行优雅的变换,从而让枯燥的数字能吸引人们注意力。
(2)在统计图表中每一种类型的图表中都可包含不同的数据可视化图形,如柱状图、饼图、气泡图、热力图、趋势图、直方图、雷达图、色块图、漏斗图、和弦图、仪表盘、面积图、折线图、K线图以及图等。
(3)文本可视化涵盖了信息收集、文本信息挖掘(数据预处理、数据挖掘、知识表示)、视觉绘制和交互设计等过程。
(4)网络可视化通常是展示数据在网络中的关联关系,一般用于描绘互相连接的实体。
(5)空间信息可视化是指运用计算机图形图像处理技术,将复杂的科学现象和自然景观及一些抽象概念图形化的过程。