【人工智能】——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. 业务背景 在智联招聘平台,求职者和招聘者之间的高效匹配至关重要。招聘者可以发布职位寻找合适的人才,求职者则通过上传简历寻找合适的工作。在这种复杂的场景中,我们的核心目标是为双方提供精准的匹配结果。在搜索推荐场景下,…...

网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...

JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...

centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...

linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...

视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...

Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...