目录

  • 第一章 程序设计基本方法
    • ● 1.1 计算机的概念
    • ● 1.2 程序设计语言
    • ● 1.3 程序的基本编写方法
    • ● 1.4 Python语言概述
    • ● 1.5 Python语言开发环境
    • ● 1.6 环境安装
  • 第二章 Python程序实例解析
    • ● Hello, World!
    • ● 基本编码规则
    • ● 温度转换
  • 第三章 基本数据类型
    • ● 数字
    • ● 变量、表达式和赋值语句
    • ● 关系表达式与逻辑运算
    • ● 字符串
    • ● 格式化方法
    • ● 数据类型间的转换
  • 实验1 Python快速入门与基础数据类型
    • ● 熟悉JupyterLab的基本操作
    • ● Hello, World!
    • ● 基本数据类型
  • 实验2 字符串与格式化
    • ● 字符串的基本操作
    • ● 格式化输出
  • 第四章 高级数据结构
    • ● 列表
    • ● 字典
    • ● 元组
    • ● 集合
    • ● 解构赋值
  • 第五章 程序控制结构与函数
    • ● 程序控制结构
    • ● 分支结构(if 条件语句)
    • ● 循环结构(for、while语句)
    • ● 函数
    • ● 列表、字典与集合推导式
  • 实验3
    • ● 判断分支结构
    • ● 循环结构
    • ● 函数
  • 第六章 面向对象编程
    • ● 对象
    • ● 类
    • ● 多态
    • ● 模块、包和软件包
  • 第八章 数据可视化基础:数据图绘制方法
    • ● 使用pyplot绘制数据图
    • ● 线图
    • ● 散点图
    • ● 柱状图
    • ● 饼图
    • ● 直方图
    • ● 子图
  • 第七章 向量计算:NumPy科学计算包
    • ● 向量水果店
    • ● NumPy数组对象
    • ● 数组访问方法
    • ● 聚合函数
    • ● 线性代数计算
  • 第九章 Pandas数据分析包
    • ● Pandas简介
    • ● 数据框与序列
    • ● 数据框的数据访问方法
    • ● 分组统计与排序排名
  • 实验4
    • ● 数组
    • ● 绘图
  • 习题课
    • ● 题型范例
  • 实验报告
    • ● 上交实验报告
使用pyplot绘制数据图

数据可视化是将数据转化为图形或图表的过程,旨在通过视觉方式传达数据的信息和模式。它是数据分析和探索的重要工具,能够帮助我们理解数据的特征、趋势和关系,并从中发现洞察和故事。数据可视化的内涵包括以下几个方面:

(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,分别表示网格线的颜色,样式和宽度。