【人工智能】——matplotlib教程
文章目录
- 1.matplotlib简介
- 2.基本绘图功能
- 2.1给图形添加辅助功能
- 2.2在一个坐标系中绘制多个图像
- 2.3多个坐标系显示图像
- 3.常见图像绘制
1.matplotlib简介
matplotlib 是一个用于创建二维图表和数据可视化的 Python 库,它提供了一种类似于 MATLAB 的绘图接口。matplotlib 可以用来绘制线图、散点图、柱状图、饼图等各种类型的图表,并且支持对图表的各种属性进行自定义设置,以及添加文本、注释、图例等元素。
我们可以通过指令来下载:pip install matplotlib
我么可以这样导入matplotlib模块:import matplotlib.pyplot as plt
图形的绘制流程:
第一步:创建画布plt.figure里面有两个参数,一个是figsize指定画布的大小(长和宽),一个是dpi指定画布的清新度
第二步:绘制图像plt.plot(x, y)默认是折线图
第三步:显示图像plt.show()
示例:显示上海一周的天气情况

2.基本绘图功能
2.1给图形添加辅助功能
示例:有标题、x轴名称、y轴名称

import matplotlib.pyplot as plt
import random
plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来显示负号
#0.准备数据
x = range(60)
y = [random.uniform(15, 18) for i in x] #生成60个15-18之间的浮点数
#1.创建画布
plt.figure(figsize=(20, 8), dpi=100)
#2.绘制图像
plt.plot(x, y)
#2.1添加xy轴刻度
x_ticks_label = ["11点{}分".format(i) for i in x]
y_ticks = range(40)
#2.2修改xy轴坐标刻度显示,要求间隔都是5
plt.xticks(x[::5], x_ticks_label[::5]) #坐标刻度不可以直接通过字符串进行修改,即不可以去掉前面的那一串
plt.yticks(y_ticks[::5])
#3.图像显示
plt.show()

添加网格显示:plt.grid(True, linestyle="--", alpha=0.5)alpha表示透明度

添加标题、x、y轴描述信息
plt.xlabel("时间")
plt.ylabel("温度")
plt.title("中午11点-12点某城市温度变化图", fontsize=20)
fontsize是为了可以让标题的字体更大一些

图像的保存plt.savefig("url")url是保存的路径;
注意:图像保存要在show之前。plt.show()会释放figure资源。
完整代码:
import matplotlib.pyplot as plt
import random
plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来显示负号
#0.准备数据
x = range(60)
y = [random.uniform(15, 18) for i in x] #生成60个15-18之间的浮点数
#1.创建画布
plt.figure(figsize=(20, 8), dpi=100)
#2.绘制图像
plt.plot(x, y)
#2.1添加xy轴刻度
x_ticks_label = ["11点{}分".format(i) for i in x]
y_ticks = range(40)
#2.2修改xy轴坐标刻度显示,要求间隔都是5
plt.xticks(x[::5], x_ticks_label[::5]) #坐标刻度不可以直接通过字符串进行修改,即不可以去掉前面的那一串
plt.yticks(y_ticks[::5])
#2.3添加网格显示
plt.grid(True, linestyle="--", alpha=0.5)
#2.4添加描述信息
plt.xlabel("时间")
plt.ylabel("温度")
plt.title("中午11点-12点某城市温度变化图", fontsize=20)
#2.5图像保存
plt.savefig("./test.png")
#3.图像显示
plt.show()
2.2在一个坐标系中绘制多个图像
方法:多次plot
示例:我们在添加一个城市的温度变化
import matplotlib.pyplot as plt
import random
plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来显示负号
#0.准备数据
x = range(60)
y_shanghai = [random.uniform(15, 18) for i in x] #生成60个15-18之间的浮点数
y_beijing = [random.uniform(1, 3) for i in x]
#1.创建画布
plt.figure(figsize=(20, 8), dpi=100)
#2.绘制图像
plt.plot(x, y_shanghai, label="上海")
plt.plot(x, y_beijing, color="r", linestyle="--", label="北京")
#2.1添加xy轴刻度
x_ticks_label = ["11点{}分".format(i) for i in x]
y_ticks = range(40)
#2.2修改xy轴坐标刻度显示,要求间隔都是5
plt.xticks(x[::5], x_ticks_label[::5]) #坐标刻度不可以直接通过字符串进行修改,即不可以去掉前面的那一串
plt.yticks(y_ticks[::5])
#2.3添加网格显示
plt.grid(True, linestyle="--", alpha=0.5)
#2.4添加描述信息
plt.xlabel("时间")
plt.ylabel("温度")
plt.title("中午11点-12点某城市温度变化图", fontsize=20)
#2.5图像保存
plt.savefig("./test.png")
#2.6显示图例
plt.legend(loc="best")
#3.图像显示
plt.show()

图片风格:

显示图例:plt.legend(loc="best")参数如下:

2.3多个坐标系显示图像
方法:通过使用plt.subplots()
plt.subplots(nrow=,ncol=)
nrows,ncols表示几行几列,例如我们要绘制两个图像,就是nrows=1,ncols=2
他的返回值有两个:
- fig:图对象
- axes:返回相应数量的坐标系
import matplotlib.pyplot as plt
import random
plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来显示负号
#0.准备数据
x = range(60)
y_shanghai = [random.uniform(15, 18) for i in x] #生成60个15-18之间的浮点数
y_beijing = [random.uniform(1, 3) for i in x]
#1.创建画布
fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(20,8), dpi=100)
#2.绘制图像
axes[0].plot(x, y_shanghai, label="上海")
axes[1].plot(x, y_beijing, color="r", linestyle="--", label="北京")
#2.1添加xy轴刻度
x_ticks_label = ["11点{}分".format(i) for i in x]
y_ticks = range(40)
#2.2修改xy轴坐标刻度显示,要求间隔都是5
axes[0].set_xticks(x[::5])
axes[0].set_yticks(y_ticks[::5])
axes[0].set_xticklabels(x_ticks_label[::5]) #有字符串的刻度必须要使用set_xticklabels
axes[1].set_xticks(x[::5])
axes[1].set_yticks(y_ticks[::5])
axes[1].set_xticklabels(x_ticks_label[::5]) #有字符串的刻度必须要使用set_xticklabels
#2.3添加网格显示
axes[0].grid(True, linestyle="-", alpha=0.5)
axes[1].grid(True, linestyle="--", alpha=0.5)
#2.4添加描述信息
axes[0].set_xlabel("时间")
axes[0].set_ylabel("温度")
axes[0].set_title("中午11点-12点上海温度变化图", fontsize=20)
axes[1].set_xlabel("时间")
axes[1].set_ylabel("温度")
axes[1].set_title("中午11点-12点北京温度变化图", fontsize=20)
#2.5图像保存
plt.savefig("./test.png")
#2.6显示图例
axes[0].legend(loc="best")
axes[1].legend(loc="best")
#3.图像显示
plt.show()

3.常见图像绘制
matplotlib可以绘制折线图、散点图、直方图、饼图等等。
折线图:plt.plot(x, y)
散点图:plt.scatter(x, y)
柱状图:plt.bar(x, width, align="center", color)x表示传入的数据,width表示柱状图的宽度,align表示每个柱状图的对齐方式,colors表示每个柱状图的颜色
直方图:plt.hist(x, bins=None)bins表示组距
饼图:plt.pie(x, labels=,autopct=,color)labels表示每部分的名称,autopct表示占比显示指定,colors表示每部分的颜色
示例:散点图的绘制(房屋面积与价格的关系)

相关文章:
【人工智能】——matplotlib教程
文章目录 1.matplotlib简介2.基本绘图功能2.1给图形添加辅助功能2.2在一个坐标系中绘制多个图像2.3多个坐标系显示图像 3.常见图像绘制 1.matplotlib简介 matplotlib 是一个用于创建二维图表和数据可视化的 Python 库,它提供了一种类似于 MATLAB 的绘图接口。matplo…...
【c++ gtest】使用谷歌提供的gtest和抖音豆包提供的AI大模型来对代码中的函数进行测试
【c gtest】使用谷歌提供的gtest和抖音豆包提供的AI大模型来对代码中的函数进行测试 下载谷歌提供的c测试库在VsCode中安装抖音AI大模型找到c项目文件夹,使用VsCode和VS进行双开生成gtest代码进行c单例测试 下载谷歌提供的c测试库 在谷歌浏览器搜索github gtest, 第…...
使用Angular构建动态Web应用
💖 博客主页:瑕疵的CSDN主页 💻 Gitee主页:瑕疵的gitee主页 🚀 文章专栏:《热点资讯》 使用Angular构建动态Web应用 1 引言 2 Angular简介 3 安装Angular CLI 4 创建Angular项目 5 设计应用结构 6 创建组件…...
25届电信保研经验贴(自动化所)
个人背景 学校:中九 专业:电子信息工程 加权:92.89 绩点:3.91/4.0 rank:前五学期rank2/95,综合排名rank1(前六学期和综合排名出的晚,实际上只用到了前五学期) 科研…...
大数据-190 Elasticsearch - ELK 日志分析实战 - 配置启动 Filebeat Logstash
点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…...
不同类型的 LED 驱动电源在检测方法上有哪些不同?-纳米软件
1.传统 LED 驱动电源检测方法: 通常会提取 LED 驱动电源性能指标参数中较为重要的几个因子,如电压稳定性、电流波动范围等。利用诸如 k-means 聚类分析方法,实现对不同厂家、使用寿命不同的 LED 驱动电源快速有效的分类2。这种方法主要是通过…...
android 生成json 文件
在做网络请求的时候需要生成一个如下的json文件: {"messages": [{"role": "user","content": [{"type": "image_base64","image_base64": "pp"},{"type": "text&…...
C++新增的类功能和可变参数模板
C新增的类功能和可变参数模板 新的类功能默认成员函数 可变参数模板模拟实现emplace_back 🌏个人博客主页: 个人主页 新的类功能 默认成员函数 原来C类中,有6个默认成员函数: 构造函数析构函数拷贝构造函数拷贝赋值重载取地址…...
redo log 日志 与 undo log 日志工作原理
目录标题 1. redo log 日志2. undo log 日志3.总结 1. redo log 日志 redo log日志是 MySQL 数据中的重要日志之一,其本质是物理日志,存放于 数据库的数据目录中 ,名称为: ib_logfile 。它的功能主要是用于存放脏数据的日志&…...
go语言结构体与json数据相互转换
本博文简要介绍go语言结构体如何与json格式化字符串相互转换。 文章目录 go语言结构体转换为json数据json数据转换为go结构体 go语言结构体转换为json数据 type Person struct {Name string json:"name"Age int json:"age"Hobbies []strin…...
jenkins 自动化部署Springboot 项目
一、安装docker 1.更新yum命令 yum -y update2.查看机器有残留的docker服务,有就卸载干净 查看docker 服务 rpm -qa |grep docker卸载docker sudo yum remove docker-ce docker-ce-cli containerd.io sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/contai…...
使用xml发送国际短信(smspro)【吉尔吉斯斯坦】
//使用xml格式发送国外短信验证码【吉尔吉斯斯坦】官网:https://smspro.nikita.kg/ public function api_test($data,$user){$url "http://smspro.nikita.kg/api/message";$code 123456 ;$content Your verification code 123456, this verification …...
springmvc-springsecurity-redhat keycloak SAML2 xml实现
环境准备: jdk17 redhat keycloak 24 spring security 6 参照文档: 红帽KeyCloak:Red Hat build of Keycloak | Red Hat Product Documentation 入门指南:入门指南 | Red Hat Product Documentation 服务器管理指南&#x…...
【K8S系列】Kubernetes Pod节点CrashLoopBackOff 状态及解决方案详解【已解决】
在 Kubernetes 中,Pod 的状态为 CrashLoopBackOff 表示某个容器在启动后崩溃,Kubernetes 尝试重启该容器,但由于持续崩溃,重启的间隔时间逐渐增加。下面将详细介绍 CrashLoopBackOff 状态的原因、解决方案及相关命令的输出解释。 …...
Linux: Shell编程入门
Shell 编程入门 1 ) Shell 概念 shell 是 在英语中 壳, 外壳的意思可以把它想象成嵌入在linux这样的操作系统里面的一个微型的编程语言不像C语言, C 或 Java 等编程语言那么完整,它可以帮我们完成很多自动化任务例如保存数据监测系统的负载等等,我们同样…...
python爬虫实战案例——抓取B站视频,不同清晰度抓取,实现音视频合并,超详细!(内含完整代码)
文章目录 1、任务目标2、网页分析3、代码编写 1、任务目标 目标网站:B站视频(https://www.bilibili.com/video/BV1se41117WP/?vd_sourcee8e376ccbc5aa4cfd88e6a7917adfd1a),用于本文测验 要求:抓取该网址下的视频&…...
容灾与云计算概念
基础知识容灾备份——备份技术系统架构与备份网络方案-CSDN博客 SAN,是storage area network的简称,翻译过来就是存储区域网络。 顾名思义,SAN首先是一个网络,其次它是关于存储的,区域则是指服务器和存储资…...
基于 Python 的自然语言处理系列(44):Summarization(文本摘要)
在这一部分中,我们将探讨如何使用 Transformer 模型将长文档压缩为摘要,这个任务被称为文本摘要。文本摘要是 NLP 领域中最具挑战性的任务之一,因为它需要理解长篇文本并生成连贯的总结,捕捉文档中的核心主题。然而,当…...
RabbitMQ安装部署
安装Erlang 由于RabbitMQ是用Erlang语言编写的,所以在安装RabbitMQ之前需要安装Erlang 安装依赖 [rootpro-ex ~]yum install make gcc gcc-c build-essential openssl openssl-devel unixODBC unixODBC-devel kernel-devel m4 ncurses-devel设置Eralng的存储库 […...
智联招聘×Milvus:向量召回技术提升招聘匹配效率
01. 业务背景 在智联招聘平台,求职者和招聘者之间的高效匹配至关重要。招聘者可以发布职位寻找合适的人才,求职者则通过上传简历寻找合适的工作。在这种复杂的场景中,我们的核心目标是为双方提供精准的匹配结果。在搜索推荐场景下,…...
(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...
第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...
JVM 内存结构 详解
内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 每个线程都有一个程序计数…...
