人工智能开发实战matplotlib库应用基础
内容导读
- matplotlib简介
- 绘制直方图
- 绘制撒点图
一、matplotlib简介
matplotlib基于Python语言开发的一个二维绘图库,在支持多种输出格式的同时提供了一个跨平台的操作界面来生成高质量的图形。
matplotlib 尝试使容易的事情变得更容易,使困难的事情变得可能。
我们仅需几行代码即可生成包括图表、直方图、功率谱在内的多种图形,并通过这些图形为大数据的可视化以及人工智能领域的图形化分析提供了丰富的绘图功能。
二、绘制直方图
Python的第三方库matplotlib支持强大的绘图功能,在执行正式绘图前应在终端(command window)界面中运行相应的绘图初始化指令。
pip3 install matplotlib
bash
完成安装matplotlib后,在notebook环境中即可进行强大的绘图功能实现对数据的可视化处理。
在数据分析可视化的过程中,应根据具体的数据可视化分析需求,选择合适的绘图工具来揭示各变量间的关联性,观察各变量的变化轨迹,把握整体分布特征及其变化规律等,从而全面深入地理解数据内涵,为后续的数据深度分析与决策提供直观的信息支撑
以下就以绘制直方图为例来进一步了解这类图形能为我们提供哪些数据解读信息?
案例:用直方图描述2017年到2018年间各季度第一产业的生产总值情况。
1、案例描述
第一产业的生产总值记录于GDP.csv文件中;通过matplotlib库生成第一产业生产总值的柱状图,并展开对比研究。
2、案例分析
首先通过numpy库将文件中的数据导入为二维数组,并将其作为绘图函数所需的数据源使用;随后调用matplotlib的直方图绘制函数bar()生成柱状图表展示'第一产业'列的数据
3、案例实现
# 实现代码
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'SimHei'# 将全局的字体设置为黑体
GDP_data=np.loadtxt("./data/GDP.csv",delimiter=",",skiprows=1)
quarter=GDP_data[0:8,0].astype(int)
plt.bar(height=GDP_data[0:8,1],x=range(len(GDP_data[0:8,1])),
label='第一产业GDP',tick_label=quarter)
plt.legend()
plt.show()
python

在代码行3处,默认字体被设定为黑体样式,在代码行5处,默认数值会被转换为整数,在代码行6处,默认图形会生成柱状图,并且其中参数height指定柱状图的高度,并对应于二维数组中的第一列数值。
柱状图的x轴使用第一产业的数据数量进行表示,在Python编程语言中,“label”参数用于设置图例标签,“tick_label”参数则用于设定x轴的具体标签内容。在代码行7处展示图例,在代码行8处展示图形
程序的结果如下图所示:

从图表中可以看出,在前期连续8个季度中
另外,在每隔一年四个季度中都会出现持续上升的趋势;同时,在不同年度对应各个季度中也都展现出了增长的趋势。
这一现象表明,在数据分析过程中采用图形化展示的方法能够实现有效的信息传递与理解,在实际应用中这种技术有助于提升决策效率并提高工作质量
三、绘制撒点图
散点图通过多个散点将两个变量的联合分布表现出来,帮助我们从中获取一些信息。例如它们之间是否存在某种具有意义的关系。
在统计分析中,散点图常被用作一种重要的工具。尤其是在分类统计数据的图形呈现中,在这种情况下它往往扮演着关键角色。当数据以恰当的方式呈现于图形之中时,在这种情况下我们即可直观地观察到一些趋势或模式,并揭示出变量间的关联关系。
1、seaborn是在matplotlib基础上面的封装,方便直接传参数调用
让我们能做出更加吸引人注意的图表,并有助于更好分析数据。

2、使用pip3 install seaborn命令安装完seaborn库后才能使用其绘图功能
用散点图分析鸢尾花的花瓣的宽度和长度之间的相关性。
(1)引例描述
关于鸢尾花的相关数据存储于iris.csv文件中。研究者希望从花瓣的宽度和长度出发探讨其分类特征与花瓣形态之间的关联。
(2)引例分析
第一步是导入Pandas库并将文件数据加载到数据框中;接着使用seaborn的relplot函数生成散点图;以便更好地观察分析结果,请注意根据物种列Species设置不同颜色和标记样式。
(3)引例实现
# 实现代码如下所示。
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
iris=pd.read_csv("./data/iris.csv")
sns.set(style="whitegrid",font="simhei",font_scale=0.9)
sns.relplot(x="Petal.Length", y="Petal.Width", hue="Species", palette=["r","b","g"],
style="Species", data=iris);
plt.show()
python
在代码开发过程中使用时,默认情况下的 pandas 库是人工智能学习中处理数据的一种高效工具。该Python框架建立在 NumPy 的基础上,并整合了丰富的辅助库以及标准化的数据模型。通过提供执行大规模数据分析所需的关键功能这一特点,在实际应用中展现了其独特的优势与价值
以上代码中,在relplot函数中参数hue和style分别用于以不同颜色和样式区分物种维的数据,并从而帮助观察不同种类的鸢尾花在花瓣维上的分布情况。
更多内容请持续关注本站!
