当前位置: 首页 > news >正文

人工智能开发实战matplotlib库应用基础

内容导读

  1. matplotlib简介
  2. 绘制直方图
  3. 绘制撒点图

一、matplotlib简介

matplotlib是一个Python 2D绘图库,它以多种硬拷贝格式和跨平台的交互式环境生成高质量的图形。

matplotlib 尝试使容易的事情变得更容易,使困难的事情变得可能。

我们只需几行代码就可以生成图表、直方图、功率谱、条形图、误差图、散点图等,为大数据的可视化和人工智能的图形化分析提供了大量绘图函数。

二、绘制直方图

Python的第三方库matplotlib提供了丰富的绘图功能,在正式绘图之前,需要在cmd命令窗口中执行如下命令:

pip3 install matplotlib

安装完matplotlib后,就可以在notebook中来使用它强大的绘图功能进行数据的可视化操作。

在数据的可视化过程中,要根据具体的数据可视化分析要求,选用不同的绘图函数来分析数据特征间的关系、查看变量的变化趋势、了解数据的整体分布情况等,去真正读懂数据,为数据深度分析和数据决策提供图形化的信息。

下面,就以绘制直方图为例,来进一步了解此类图形能为我们带来哪些数据解读信息。

案例:用直方图描述2017年到2018年间各季度第一产业的生产总值情况。

1、案例描述

第一产业的生产总值保存在GDP.csv文件中,用matplotlib绘制第一产业生产总值的直方图,并进行对比分析。

2、案例分析

首先利用numpy库将文件数据读入到二维数组中,作为绘图函数的数据源来使用,然后用matplotlib的直方图绘图函数bar()将数组中“第一产业”列的数据以柱状图进行展现。

3、案例实现

# 实现代码import numpy as npimport matplotlib.pyplot as pltplt.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()	

代码行3将全局的字体设置为黑体,代码行5将数组值转换成整数,代码行6绘制柱状图,其高度用参数height来指定,即二维数组中第1列的值。

柱状图x坐标用第1产业的数据个数来表示,参数lable是图例标签,参数tick_label是x轴标签。代码行7显示图例,代码行8是显示图形。

程序的运行结果如下图所示:

由上图可以直观看出,在前8个季度中,2018年第4季度的GDP最大,最小值在2017年的第1季度,最大值将近是最小值的3倍多。

另外,每年4个季度的GDP都趋于不断增长的势头,且不同年份对应的各季度的GDP也同样呈现出上升的趋势。

由此可见,通过图形的方式对数据进行可视化,能直观解读数据内隐含的变化趋势,为数据统计和分析提供了一种便捷手段。

三、绘制撒点图

散点图是利用一系列的散点将两个变量的联合分布描绘出来,让我们从图形分布中推断一些信息,如两变量间是否存在某种有意义的关系。

散点图是统计分析中常用的一种手段,特别是在分类统计图形中,它可以算得上是中流砥柱,当数据以恰当的方式在图形中展示出来时,我们就可以非常直观地观察到某些趋势或者模式,也就揭示了变量之间的关系。

1、seaborn是在matplotlib基础上面的封装,方便直接传参数调用

让我们能做出更加吸引人注意的图表,并有助于更好分析数据。

2、使用pip3 install seaborn命令安装完seaborn库后才能使用其绘图功能

用散点图分析鸢尾花的花瓣的宽度和长度之间的相关性。

(1)引例描述

鸢尾花有关花瓣和花蕊的数据保存在iris.csv文件中,我们试图从花瓣的宽度和长度的视角去探索鸢尾花的品种类别是否与花瓣有关。

(2)引例分析

首先利用Pandas库将文件数据读入到数据框中,然后利用seaborn的关系图函数relplot绘制散点图。为便于观察,利用数据框中的种类列Species来区分颜色和散点样式。

(3)引例实现

    # 实现代码如下所示。import pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsiris=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()

代码中的pandas库是人工智能学习中处理数据的高效工具,pandas 是基于NumPy来创建的,它纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。

以上代码中,relplot函数的参数hue和style分别表示使用不同的颜色和样式区分Species维的数据,以便观察不同品种鸢尾花在花瓣维度的分布情况。

更多内容请持续关注本站!

相关文章:

人工智能开发实战matplotlib库应用基础

内容导读 matplotlib简介绘制直方图绘制撒点图 一、matplotlib简介 matplotlib是一个Python 2D绘图库,它以多种硬拷贝格式和跨平台的交互式环境生成高质量的图形。 matplotlib 尝试使容易的事情变得更容易,使困难的事情变得可能。 我们只需几行代码…...

Android 源码集成可卸载 APP

android系统包含三类APP: 1、可自由卸载APP安装在 /data/app目录下。 2、系统APP放在 /system/app目录。 3、特权APP放在 /system/priv-app目录。 系统编译后,打包前, /data分区不起作用,因此系统打包前,可以先将APP全部拷贝到 /…...

cJSON-轻量级解析模块、字符串的神——编织STM32C8T6与阿里云信息传递的纽带

编写方向:本人就不泛泛的编写一篇什么一文学会cJSON了,没什么突出点,也就我水水字数,你们看来看去也不懂,本人是从上阿里云传信息接触的cJSON的,我就此写一篇针对性的文章,希望对大家有用&#…...

【Git】Clone

当git clone失败时,出现 RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: CANCEL (err 8) 错误,可能由于网络连接不稳定或仓库太大导致的。 可以尝试以下几种方法来解决这个问题: 增加 Git 的缓冲区大小: git confi…...

web开发 之 HTML、CSS、JavaScript、以及JavaScript的高级框架Vue(学习版2)

一、前言 接下来就是来解决这些问题 二、 Ajax 1.ajax javscript是网页三剑客之一&#xff0c;空用来控制网页的行为的 xml是一种标记语言&#xff0c;是用来存储数据的 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-…...

【课程学习】信号检测与估计II

b站 文章目录 1-概述 1-概述 线性、正交、平稳、高斯 研究线性模型&#xff0c;采用正交化方法&#xff0c;假设信号平稳&#xff0c;考虑信号的统计特性是高斯的。 本学期考虑&#xff0c;非线性、非正交、非平稳、非高斯。 阵列处理 1980-1990 MUSIC 稀疏性 2006-2012 LASS 时…...

【深度学习|PyTorch】基于 PyTorch 搭建 U-Net 深度学习语义分割模型——附代码及其解释!

【深度学习|PyTorch】基于 PyTorch 搭建 U-Net 深度学习语义分割模型——附代码及其解释&#xff01; 【深度学习|PyTorch】基于 PyTorch 搭建 U-Net 深度学习语义分割模型——附代码及其解释&#xff01; 论文地址&#xff1a; https://arxiv.org/abs/1505.04597 代码地址&a…...

DPDK基础入门(十):虚拟化

I/O虚拟化 全虚拟化&#xff1a;宿主机截获客户机对I/O设备的访问请求&#xff0c;然后通过软件模拟真实的硬件。这种方式对客户机而言非常透明&#xff0c;无需考虑底层硬件的情况&#xff0c;不需要修改操作系统。 半虚拟化&#xff1a;通过前端驱动/后端驱动模拟实现I/O虚拟…...

OpenCV_图像旋转超详细讲解

图像转置 transpose(src, dst); transpose()可以实现像素下标的x和y轴坐标进行对调&#xff1a;dst(i,j)src(j,i)&#xff0c;接口形式 transpose(InputArray src, // 输入图像OutputArray dst, // 输出 ) 图像翻转 flip(src, dst, 1); flip()函数可以实现对图像的水平翻转…...

关于 OceanBase 4.x 中被truncate的 table 不再支持进回收站的原因

近期&#xff0c;OceanBase的问答社区中收到了不少用户的询问&#xff0c;关于OceanBase 3.x版本支持被truncate的table进入回收站的功能&#xff0c;为何在升级到4.x版本后不再支持了&#xff1f;为了解答大家的疑惑&#xff0c;我们将通过这篇文章来浅析 OceanBase在4.x版本中…...

Numpy索引详解(数值索引,列表索引,布尔索引)

数值索引 数值索引类似列表索引操作使用[]&#xff0c;参数为下标&#xff0c;[0,len-1),高维数组的索引使用多个[]连用分别代表一维索引&#xff0c;二维索引... import numpy as np import torchnp.random.seed(1) data1 np.arange(5) data2 np.arange(15).reshape(3,5) …...

大数据新视界 --大数据大厂之MongoDB与大数据:灵活文档数据库的应用场景

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...

三年 Sparker 都不一定知道的算子内幕

一、如何在 mapPartitions 中释放资源 mapPartitions是一种对每个分区进行操作的转换操作&#xff0c;于常用的map操作类似&#xff0c;但它处理的是整个分区而不是单个元素。mapPartitions的应用场景适合处理需要在每个分区内批量处理数据的场景&#xff0c;通常用于优化性能…...

PG表空间

目录标题 PG表空间PostgreSQL表空间的最佳实践是什么&#xff1f;如何在PostgreSQL中创建和管理自定义表空间&#xff1f;PostgreSQL表空间对数据库性能的具体影响有哪些&#xff1f;在PostgreSQL中&#xff0c;如何迁移数据到不同的表空间以优化存储布局&#xff1f;PostgreSQ…...

谷粒商城のElasticsearch

文章目录 前言一、前置知识1、Elasticsearch 的结构2、倒排索引 (Inverted Index)2.1、 索引阶段2.2、查询阶段 二、环境准备1、安装Es2、安装Kibana3、安装 ik 分词器 三、项目整合1、引入依赖2、整合业务2.1、创建索引、文档、构建查询语句2.2、整合业务代码 后记 前言 本篇介…...

排队免单模式小程序开发

开发一个排队免单模式的小程序涉及多个方面&#xff0c;包括需求分析、界面设计、后端开发、数据库设计以及测试上线等。下面我将详细介绍每个步骤的概要&#xff1a; 1.需求分析 明确目标&#xff1a;首先确定小程序的核心功能&#xff0c;即排队免单模式的具体实现方式。例如…...

从OracleCloudWorld和财报看Oracle的转变

2024年9月9-12日Oracle Cloud World在美国拉斯维加斯盛大开幕 押注AI和云 Oracle 创始人Larry Ellison做了对Oracle战略和未来愿景的主旨演讲&#xff0c;在演讲中Larry将AI技术和云战略推到了前所未有的高度&#xff0c;从新的Oracle 23c改名到Oracle23ai&#xff0c;到Oracl…...

搭建 PHP

快速搭建 PHP 环境指南 PHP 是一种广泛用于 Web 开发的后端脚本语言&#xff0c;因其灵活性和易用性而受到开发者的青睐。无论是开发个人项目还是企业级应用&#xff0c;PHP 环境的搭建都是一个不可忽视的基础步骤。本指南将带您快速学习如何在不同平台上搭建 PHP 环境&#x…...

kubernetes技术详解,带你深入了解k8s

目录 一、Kubernetes简介 1.1 容器编排应用 1.2 Kubernetes简介 1.3 k8s的设计架构 1.3.1 k8s各个组件的用途 1.3.2 k8s各组件之间的调用关系 1.3.3 k8s的常用名词概念 1.3.4 k8s的分层结构 二、k8s集群环境搭建 2.1 k8s中容器的管理方式 2.2 k8s环境部署 2.2.1 禁用…...

Gateway学习笔记

目录 介绍&#xff1a; 核心概念 依赖 路由 断言 基本的断言工厂 自定义断言 过滤器 路由过滤器 过滤器工厂 自定义路由过滤器 全局过滤器 其他 过滤器执行顺序 前置后置&#xff08;&#xff1f;&#xff09; 跨域问题 yaml 解决 配置类解决 介绍&#x…...

C++的std--ranges编译器内联

C的std::ranges编译器内联&#xff1a;现代C的高效编程利器 随着C20标准的发布&#xff0c;std::ranges库的引入彻底改变了算法与数据结构的交互方式。这一特性不仅简化了代码编写&#xff0c;还通过编译器的内联优化显著提升了运行时性能。对于追求高效与简洁的开发者而言&am…...

东方电机RS485嵌入式协议库:多型号统一控制与工业可靠性设计

1. 项目概述OrientalCommon_asukiaaa 是一个专为东方电机&#xff08;Oriental Motor&#xff09;RS485通信设备设计的嵌入式通用接口库。该库不直接实现物理层驱动&#xff0c;而是聚焦于协议层抽象与控制逻辑封装&#xff0c;为上层应用提供统一、可移植、符合工业现场总线规…...

2025届必备的五大降重复率神器横评

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 常见问题是在学术写作以及论文发表进程里&#xff0c;查重率过高。降重网站作为辅助工具&…...

OpenClaw性能调优实战:Qwen3-32B在RTX4090D上的量化推理加速

OpenClaw性能调优实战&#xff1a;Qwen3-32B在RTX4090D上的量化推理加速 1. 为什么需要性能调优&#xff1f; 去年冬天&#xff0c;当我第一次在RTX4090D上部署Qwen3-32B模型时&#xff0c;本以为24GB显存足以轻松应对各种任务。但现实很快给我上了一课——一个简单的网页内容…...

AI深度学习中的自动微分与梯度下降机制解析

AI深度学习中的自动微分与梯度下降机制解析...

告别SDK迷宫:手把手教你用CCS12.1.0为TMS320F280039搭建纯净工程骨架(附文件屏蔽指南)

告别SDK迷宫&#xff1a;手把手教你用CCS12.1.0为TMS320F280039搭建纯净工程骨架&#xff08;附文件屏蔽指南&#xff09; 第一次打开C2000Ware MotorControl SDK时&#xff0c;那种被数百个文件夹和文件淹没的感觉&#xff0c;相信很多开发者都深有体会。面对如此庞大的资源库…...

计算机毕业设计:Python汽车销量全栈分析系统 Flask框架 可视化 机器学习 AI 大模型 大数据(建议收藏)✅

1、项目介绍 技术栈&#xff1a;Python语言、Flask框架、ECharts可视化库、MySQL数据库、机器学习算法 功能模块&#xff1a;数据概况展示模块多维度可视化分析模块销量预测模块生产计划辅助模块系统管控模块 项目介绍&#xff1a;本项目为汽车销量可视化分析与预测系…...

Python数据可视化入门:从零开始掌握三大核心库

在数据科学领域&#xff0c;数据可视化是连接数据与洞见的关键桥梁。通过图表和图形&#xff0c;我们能够直观地理解数据模式、发现异常值、并向他人清晰传达分析结果。Python作为数据分析的主流语言&#xff0c;提供了丰富强大的可视化工具库。本文将带你从零开始&#xff0c;…...

H5动态公共导航栏

CommonNavBar.vue&#xff1a; <template><divclass"common-nav-bar":style"navBarStyle"><!-- 状态栏占位&#xff0c;可以按项目需要删除或调整高度 --><div class"status-bar-placeholder"></div><!-- 主导…...

Blender场景教程:秘密实验室

BY:Express the Chaos关于我做了5年视觉设计师&#xff0c;但没有正式的3D背景。我十一个月前养成了通过概念艺术和3D表达自己的习惯&#xff0c;不得不向Blender介绍自己&#xff08;因为它是免费软件&#xff0c;我忍不住要用&#xff09;&#xff0c;以及制作3D场景的整个机…...