数据可视化是将数据转化为图形或图表的过程,旨在通过视觉方式传达数据的信息和模式。它是数据分析和探索的重要工具,能够帮助我们理解数据的特征、趋势和关系,并从中发现洞察和故事。数据可视化的内涵包括以下几个方面:
(1) 数据表达:数据可视化通过图形、图表、地图等方式,将抽象的数据转化为可视化的形式,以便更容易理解和解释。它帮助我们将大量的数据呈现出来,使其更加具体、直观。
(2) 数据探索:数据可视化可以帮助我们探索数据集的特征和结构。通过绘制各种图表,我们可以观察数据的分布、趋势、异常值等,并从中获取对数据的初步认识。
(3) 数据分析:数据可视化是进行数据分析的重要手段之一。通过绘制不同类型的图表,我们可以比较数据之间的关系、变化趋势,发现数据内在的模式和规律。故事讲述:数据可视化有助于将数据转化为有意义的故事。通过合理选择和设计图形,我们可以将数据背后的洞察力和见解传达给观众,从而更好地解释数据的含义和影响。
(4) 洞察发现:数据可视化可以帮助我们发现数据中的隐藏模式、趋势和关联。通过将不同维度的数据组合在一起,我们可以发现新的见解和洞察力,从而支持决策和行动。
总的来说,数据可视化是一种将数据转化为可视形式的技术和方法,通过视觉方式呈现数据的特征和关系,帮助我们更好地理解数据、探索数据、分析数据,同时将数据转化为有意义的故事和见解。它在数据分析、数据科学、决策支持等领域具有广泛的应用价值。
数据图
数据图是数据可视化的核心部分,将数据以可视化的方式呈现,是数据可视化的具体实现形式。数据图通过各种图形元素(例如线条、点等)和视觉属性(如颜色、大小、形状)来表示数据的特征、关系和模式。

数据图一般主要由坐标轴、数据点、图形元素、标题和图例等部分构成。
(1) 数据点(data points)是具体的数据值,它们表示数据的单条记录、单个实例或观测结果。
(2) 坐标轴(axes)是数据图的基本框架,定义了一个“空间”,在这空间内定义数据点的位置,利用数据点相对位置空间关系展示数据的内在关系。通常坐标轴有横轴(x 轴)和纵轴(y 轴),它们构成了一个二维坐标系。
(3) 坐标轴上的刻度表示数据的值,数据点在坐标轴上的位置,可以帮助读者理解数据的大小和关系。坐标轴刻度分主刻度(major ticks)和次刻度(minor ticks),主刻度的刻线比次刻度的刻线要长。主刻度显示数值或者显示给定名称,次刻度一般不会显示刻度标签或甚至刻度线,但当主刻度间隔较大时,可以使用次刻度辅助表示坐标值。
(4) 数据图可以使用横纵交错的网格线(grid)辅助图形元素定位,用于帮助读者对齐和比较数据点。轴标签(axis labels)分 x 位于坐标轴的端点,用于标识坐标轴代表的数据类型,提供了关于数据的单位、度量或范围的信息。
(5) 标题(title)是数据图的简短描述,通常位于图的顶部。标题可以提供关于数据图的主题、内容或目的的信息。除此之外,标签(label)是对数据点或数据系列进行标识或注释的文字说明。标签可以放置在数据点旁边或与数据点相关联,以提供更多的信息。
(6) 图例(legend)是当数据图中包含多个数据系列或不同类别时,用于解释和标识不同的数据项。图例通常位于数据图的一侧或底部,以图标和文字形式表示不同的数据系列,并与数据图中的图形元素相对应。
(7) 图形元素(Graphical Elements)是数据图最为重要部分,使用各种图形元素来表示数据。这些元素可能包括线条、点、柱形、饼图扇区等,它们的形状、颜色、大小等属性可以用来表示数据的特征和关系。
这些基础要素共同构成了数据图,通过合理地组织和使用这些要素,可以有效地传达数据的信息,帮助读者理解和分析数据。同时,数据图的美学设计也需要考虑颜色、线型、字体等因素,以提高视觉吸引力和可视化效果。
pyplot
Matplotlib是用于数据可视化的最流行的Python包之一。 它是一个跨平台库,用于根据数组中的数据制作2D图。因为Matplotlib软件包非常复杂,模块众多。而一般使用的模块是matplotlib 的一个二级模块,matplotlib.pyplot,所以我们只导入pyplot,并按惯例给这个二级模块使用别名plt。
Matplotlib是用Python编写的,它使用了Python的数值数学扩展NumPy,我们下一章会讲到NumPy。本章大部分的作图代码,不使用NumPy也可以实现,这是我们的课件与讲义的一点区别。
pyplot 包含一系列绘图函数的相关函数,每个函数会对当前的图像进行一些修改,例如:给图像加上标记,生新的图像,在图像中产生新的绘图区域等等。
以下是一些常用的 pyplot 方法:
plot():用于绘制线图和散点图
scatter():用于绘制散点图
bar():用于绘制垂直条形图和水平条形图
hist():用于绘制直方图
pie():用于绘制饼图
imshow():用于绘制图像
subplots():用于创建子图
除了这些基本的方法,pyplot 还提供了很多其他的方法,常用的添加图形属性的方法如下:
title():设置标题
xlable():设置X轴标签
ylable():设置Y轴标签
这三个方法都有基本相同的参数:
size:设置字体大小
color:设置字体颜色,可以用颜色名称,如'red',也可以是RGB十六进制码,如'#40FE82'。
loc:位置,默认值是'center',标题和X轴标签可以还可以设置为'left'或'right',而Y轴标签则是'bottom'或'top'。
如果你的python环境中文显示出错,可以在导入pyplot之后加一行代码来解决:plt.rcParams['font.sans-serif']=['SimHei']
除此之外,还可以通过guid()方法设置网格线,语法如下:
grid(b=None, which='major', axis='both', )
参数说明:
b:可选,默认为 None,可以设置布尔值,true 为显示网格线,false 为不显示,如果设置 **kwargs 参数,则值为 true。
which:可选,可选值有 'major'、'minor' 和 'both',默认为 'major',表示应用更改的网格线。
axis:可选,设置显示哪个方向的网格线,可以是取 'both'(默认),'x' 或 'y',分别表示两个方向,x 轴方向或 y 轴方向。
**kwargs:可选,设置网格样式,可以是 color='r', linestyle='-' 和 linewidth=2,分别表示网格线的颜色,样式和宽度。

