Matplotlib 可视化数据分析图表简单介绍

文章目录

一、前言

1.1 数据分析图表的作用

1.2 如何选择合适的图表类型

1.3 图表的基本组成

二、Matplotlib 简介

三、Matpoltlib 图表之初体验

3.1 创建 Matpoltlib 简单图表

3.2 基本绘图 plot()函数介绍

四、图表的常用设置

4.1 颜色设置

4.2 线条设置

4.3 标记样式

五、经验分享


CSDNicon-default.png?t=N7T8https://mp.csdn.net/mp_blog/creation/editor/134816784

一、前言

在数据分析与机器学习中,我们经常用到大量的可视化操作。一张精美的图表,不仅能够展示大量的信息,更能够直观地体现数据之间隐藏的关系。

下面分享的是 Maplotlib,每一个知识点都结合示例,力求通过可视化效果了解图表的相关功能,并且通过综合应用将图表应用于实际的数据统计分析工作中。

1.1 数据分析图表的作用

在我们进行数据处理及统计分析时,会遇到这样一个问题,一堆堆数字看起来不是很直观,而且在数据较多的情况下无法展示,不能很好地诠释统计分析结果。举个简单的例子如下面的两图所示。

上面举例同是“月销量分析”结果的呈现,你更青睐哪一种?显然,数据分析图表(右图)更加直观、生动和具体,它将复杂的统计数字变得简单化、通俗化、形象化,使人一目了然,便于理解和比较。数据分析图表直观地展示统计信息,使我们能够快速了解数据变化趋势、数据比较结果以及所占比例等,它对数据分析、数据挖掘起到了关键性的作用。

1.2 如何选择合适的图表类型

数据分析图表的类型包括条形图、柱状图、折线图、饼图、散点图、面积图、坏形图、雷达图等。此外,通过图表的相互登加还可以生成复合型图表。
不同类型的图表适用不同的场景,可以按使用目的选择合适的图表类型。下面通过一张框架图来说明,如图所示。

1.3 图表的基本组成

数据分析图表有很多种,但每一种图表的绝大组成部分是基本相同的,一张完整的图表一般包括画布、图表标题、绘图区、数据系列、坐标轴、坐标轴标题、图例、文本标签、网格线等,如下面的图所示。

下面详细介绍各个组成部分的功能。
(1) 画布:图中最大的白色区域,作为其他图表元素的容器。
(2)图表标题:用来概况图表内容的文字,常用的功能有设置字体、字号及字体颜色等。
(3)绘图区:画布中的一部分,即显示图形的矩形区域,可改变填充颜色、位置,以便图表展示更好的图形效果。


(4) 数据系列:在数据区域中,同一列(或同一行)数值数据的集合构成一组数据系列,也就是图表中相关数据点的集合。图表中可以有一组到多组数据系列,多组数据系列之间通常采用不同的图案、颜色或符号来区分。图中,销售额就是数据系列。
(5) 坐标轴及坐标轴标题:坐标轴是标识数值大小及分类的垂直线和水平线,上面有标定数据值的标志(刻度)。一般情况下,水平轴(x轴)表示数据的分类;坐标轴标题用来说明坐标轴的分类及内容,分为水平坐标轴和垂直坐标轴。图中,x轴的标题是“年份”,y轴的标题是“线上销售额(元)”。


(6) 图例:是指示图表中系列区域的符号、颜色或形状定义数据系列所代表的内容。图例由两部分构成,即图例标示和图例项。其中,图例标示,代表数据系列的图案,即不同颜色的小方块:图例项,与图例标示对应的数据系列名称。一种图例标示只能对应一种图例项。
(7)文本标签:用于为数据系列添加说明文字。
(8) 网格线:贯穿绘图区的线条,类似标尺可以衡量数据系列数值的标准。常用的功能有设置网格线宽度、样式、颜色、坐标轴等。

二、Matplotlib 简介

Matplotlib 是一个 Python 2D 绘图库,常用于数据可视化。它能够以多种硬拷贝格式和跨平台的交互式环境生成出版物质量的图形。
Matplotlib 非常强大,绘制各种各样的图表游刃有余,它将容易的事情变得更容易,困难的事情变得可能。只需几行代码就可以绘制折线图(见图1、2)、柱形图(见图3)、直方图(见图4)、饼形图(见图5)、散点图(见图6)等。

Matpoltlib 不仅可以绘制以上最基础的图表,还可以绘制一些高级图表,如双y轴可视化数据分析
图表(见下图1)、堆叠柱形图(见下图2)、多层饼形图(见下图3)、等高线图(见下图4)。

不仅如此,Matpoltlib还可以绘制3D图表。例如,三维柱状图(见下图1)、三维曲面图(见下图2)。

综上所述,只要熟练地掌握 Matplotlib的函数,以及各项参数就能够绘制出各种出乎意料的图表,满足数据分析的需求。

三、Matpoltlib 图表之初体验

3.1 创建 Matpoltlib 简单图表

创建 Matpoltlib 图表简单的只需两步。下面将绘制两张简单图表。

(1) 引入 pyplot 模块。
(2) 使用 Matplotlib 模块的 plot()方法绘制图表。
(3) 输出结果,如下图所示。

程序代码如下:

#简单折线图
import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]

plt.plot(x, y)
plt.show()


#简单散点图
import matplotlib.pyplot as plt
import numpy as np

x = np.array([1, 2, 3, 4, 5, 6, 7, 8])
y = np.array([1, 4, 9, 16, 7, 11, 23, 18])

plt.scatter(x, y)
plt.show()

3.2 基本绘图 plot()函数介绍

plot函数的基本调用格式为:

(1) plot(y)

当y为向量时,是以y的分量为纵坐标,以元素序号为横坐标,用直线依次连接数据点,绘制曲线。若y为实矩阵,则按列绘制每列对应的曲线。

(2) plot(x,y)

若y和x为同维向量,则以x为横坐标,y为纵坐标绘制连线图。若x是向量,y是行数或列数与x长度相等的矩阵,则绘制多条不同色彩的连线图,x被作为这些曲线的共同横坐标。若x和y为同型矩阵,则以x,y对应元素分别绘制曲线,曲线条数等于矩阵列数。

(3) plot(x1,y1,x2,y2,……)

在此格式中,每对x,y必须符合plot(x,y)中的要求,不同对之间没有影响,命令将对每一对x,y绘制曲线。

以上三种格式中的x,y都可以是表达式。plot是绘制一维曲线的基本函数,但在使用此函数之前,须先定义曲线上每一点的x以及y坐标。

四、图表的常用设置

这里主要介绍图表的常用设置,主要包括颜色设置、线条样式、标记样式、设置画布、坐标轴、
添加文本标签、设置标题和图例、添加注释文本、调整图表与画布边缘间距,以及其他相关设置等。

你可能还是觉得上面“Matpoltlib 图表之初体验”中的两个图表不够完美,那么在接下来,我们将一步一步完善这张图表。下面介绍图表中线条颜色、线条样式和标记样式的设置。

4.1 颜色设置

color 参数可以设置线条颜色,通用颜色值如下表。

其他颜色可以通过十六进制字符串指定,或者指定颜色名称,例如:
浮点形式的RGB 或RGBA 元组,例如(0.1, 0.2, 0.5)或(0.1, 0.2, 0.5, 0.3)。
十六进制的RGB 或 RGBA 字符串,例如#OFOFOF 或#FOFOFOF。

0~1的小数作为灰度值,例如0.5。
{'b','g','r','c','m','y','k' ,'w'},其中的一个颜色值。

X11/CSS4 规定中的颜色名称。
Xkcd 中指定的颜色名称,例如 xkcd:sky blue。
Tableau 调色板中的颜色,例如{'tab:blue', 'tab:orange', 'tab:green', 'tab:red', 'tab:purple', 'tab:brown', 'tab:pink', 'tab:gray', 'tab:olive', 'tab:cyan')。
CN格式的颜色循环,对应的颜色设置代码如下:

import matplotlib.pyplot as plt
from cycler import cycler

colors = ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728',
          '#9467bd', '#8c564b', '#e377c2', '#7f7f7f',
          '#bcbd22', '#17becf']
plt.rcParams['axes.prop_cycle'] = cycler(color=colors)

4.2 线条设置

linestyle 可选参数可以设置线条的样式,设置值如下,设置后的效果如下图所示。

“-”:实线,默认值
“--”:双画线
“-.”:点画线
“:”:虚线

4.3 标记样式

marker 可选参数可以设置标记样式,设置值如下表。

下面为“Matpoltlib 图表之初体验的简单折线图”设置颜色和样式,并进行位置标记,代码如下:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]

plt.plot(x, y, color='m', linestyle='-',
         marker='o', mfc='w')
plt.show()

 运行输出结果如下图。

五、经验分享

数据统计得再好都不如一张图表清晰、直观。 在我们面临大量繁杂的数据时,不妨使用数据分析图表使它更加直观、生动和具体,将复杂的统计数字变得简单化、通俗化、形象化,使人一目了然。

本文就暂时讲到这里了,接下来的内容会在后续的文章中进行更新 。

  • 22
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值