【深度学习】 Python 和 NumPy 系列教程(十七):Matplotlib详解:2、3d绘图类型(3)3D条形图(3D Bar Plot)
目录
一、前言
二、实验环境
三、Matplotlib详解
1、2d绘图类型
2、3d绘图类型
0. 设置中文字体
1. 线框图
2. 3D散点图
3. 3D条形图(3D Bar Plot)
一、前言
Python是一种高级编程语言,由Guido van Rossum于1991年创建。它以简洁、易读的语法而闻名,并且具有强大的功能和广泛的应用领域。Python具有丰富的标准库和第三方库,可以用于开发各种类型的应用程序,包括Web开发、数据分析、人工智能、科学计算、自动化脚本等。
Python本身是一种伟大的通用编程语言,在一些流行的库(numpy,scipy,matplotlib)的帮助下,成为了科学计算的强大环境。本系列将介绍Python编程语言和使用Python进行科学计算的方法,主要包含以下内容:
- Python:基本数据类型、容器(列表、元组、集合、字典)、函数、类
- Numpy:数组创建、数组操作、数组数学、广播
- Matplotlib:2d绘图、3d绘图、图表自定义、多子图和布局、图表自定义、多子图和布局
- IPython:创建笔记本、典型工作流程
二、实验环境
| matplotlib | 3.5.3 | |
| numpy | 1.21.6 | |
| python | 3.7.16 |
- 运行下述命令检查Python版本
python --version
- 运行下述代码检查Python、NumPy、Matplotlib版本
import sys
import numpy as np
import matplotlibprint("Python 版本:", sys.version)
print("NumPy 版本:", np.__version__)
print("matplotlib 版本:", matplotlib.__version__)

三、Matplotlib详解
Matplotlib是一个用于创建数据可视化的Python库。它提供了广泛的绘图选项,能够生成各种类型的图表、图形和可视化效果。下面是Matplotlib的一些主要功能:
绘图风格和类型:Matplotlib支持各种绘图风格和类型,包括线图、散点图、柱状图、饼图、等高线图、3D图等,可以根据需要选择适合的图表类型来展示和分析数据。
数据可视化:Matplotlib使得将数据转化为可视化表示变得简单,可以使用Matplotlib绘制图表来展示数据的分布、趋势、关系等,这有助于更好地理解数据和发现潜在的模式和关联。
图表自定义:Matplotlib提供了丰富的图表自定义选项,可以调整图表的标题、标签、坐标轴、线条样式、颜色等。这使得您能够创建符合特定需求和品味的高质量图表。
多子图和布局:Matplotlib允许您在单个图像中创建多个子图,以便同时展示多个相关的图表或数据视图。您可以自定义子图的布局和排列,以满足特定的展示需求。
导出图像:Matplotlib支持将图像导出为多种格式,包括PNG、JPEG、PDF、SVG等。这使得您可以方便地将生成的图表保存为文件,或嵌入到文档、报告和演示文稿中。
无论是进行科学研究、数据分析、报告撰写还是可视化展示,Matplotlib都是一个强大而灵活的工具。它广泛应用于各个领域,如数据科学、机器学习、金融分析、工程可视化等。
1、2d绘图类型
2d绘图(上):折线图、散点图、柱状图、直方图、饼图_QomolangmaH的博客-CSDN博客https://blog.csdn.net/m0_63834988/article/details/132872575?spm=1001.2014.3001.5501
https://blog.csdn.net/m0_63834988/article/details/132872575?spm=1001.2014.3001.5501
2d绘图(下):箱线图、热力图、面积图、等高线图、极坐标图_QomolangmaH的博客-CSDN博客https://blog.csdn.net/m0_63834988/article/details/132890656?spm=1001.2014.3001.5501
https://blog.csdn.net/m0_63834988/article/details/132890656?spm=1001.2014.3001.5501
2、3d绘图类型
0. 设置中文字体
import matplotlibmatplotlib.rcParams['font.family'] = 'Microsoft YaHei' # 设置为微软雅黑字体
matplotlib.rcParams['font.sans-serif'] = ['SimHei'] # 设置中文字体为黑体
若不进行该设置,会报错字体缺失
1. 线框图
3d绘图类型(1):线框图(Wireframe Plot)_QomolangmaH的博客-CSDN博客
https://blog.csdn.net/m0_63834988/article/details/132890293?spm=1001.2014.3001.5502
2. 3D散点图
3d绘图类型(2)3D散点图(3D Scatter Plot)_QomolangmaH的博客-CSDN博客
https://blog.csdn.net/m0_63834988/article/details/132891434?spm=1001.2014.3001.5502
3. 3D条形图(3D Bar Plot)
import matplotlib.pyplot as plt
import numpy as np# 数据准备
x = np.arange(3) # x轴位置
y = np.arange(3) # y轴位置
x_mesh, y_mesh = np.meshgrid(x, y) # 创建网格
z = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # 条形的高度# 创建3D图形对象
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')# 绘制3D条形图
ax.bar3d(x_mesh.flatten(), y_mesh.flatten(), np.zeros_like(z).flatten(), 0.5, 0.5, z.flatten())# 设置坐标轴标签
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')# 显示图形
plt.show()
x和y数组分别表示条形的x和y轴位置。- 通过使用
np.meshgrid函数创建了一个二维网格,将x和y数组扩展为与z数组相同的维度。 - 创建了一个3D图形对象,并将其添加到子图中。
- 使用
ax.bar3d函数绘制了3D条形图。x_mesh.flatten()、y_mesh.flatten()和np.zeros_like(z).flatten()参数分别表示条形的x、y和z轴位置。0.5和0.5参数表示条形的宽度和深度。z.flatten()参数表示条形的高度。
- 使用
ax.set_xlabel、ax.set_ylabel和ax.set_zlabel函数设置了坐标轴的标签。

相关文章:
【深度学习】 Python 和 NumPy 系列教程(十七):Matplotlib详解:2、3d绘图类型(3)3D条形图(3D Bar Plot)
目录 一、前言 二、实验环境 三、Matplotlib详解 1、2d绘图类型 2、3d绘图类型 0. 设置中文字体 1. 线框图 2. 3D散点图 3. 3D条形图(3D Bar Plot) 一、前言 Python是一种高级编程语言,由Guido van Rossum于1991年创建。它以简洁、易读…...
基于Spring Boot+vue的酒店管理系统
文章目录 项目介绍主要功能截图:前台后台部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于Spring Boot+vue的酒店管理…...
Python 通过threading模块实现多线程
视频版教程 Python3零基础7天入门实战视频教程 我们可以使用threading模块的Thread类的构造器来创建线程 def _ init _(self, groupNone, targetNone, nameNone, args(), kwargsNone, *, daemonNone): 上面的构造器涉及如下几个参数。 group:指定该线程所属的线程组。目前该…...
用一个RecyclerView实现二级评论
先上个效果图(没有UI,将就看吧),写代码的整个过程花了4个小时左右,相比当初自己开发需求已经快了很多了哈。 给产品估个两天时间,摸一天半的鱼不过分吧(手动斜眼) 需求拆分 这种大家…...
音视频 SDL简介
一、SDL简介 SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Win…...
7.前端·新建子模块与开发(自动生成)
文章目录 学习地址视频笔记自动代码生成模式开发增删改查功能调试功能权限分配 脚本实现权限分配 学习地址 https://www.bilibili.com/video/BV13g411Y7GS/?p15&spm_id_frompageDriver&vd_sourceed09a620bf87401694f763818a31c91e 视频笔记 自动代码生成模式开发 …...
Linux 创建目录
语法:mkdir xxx Linux路径 在当前目录下创建文件夹 在/目录下创建文件夹 如果想要一次性创建多个层级的目录,如下图 会报错,因为上级目录test并不存在,所以无法创建test目录 可以通过-p选项,将一整个链条都创建完成…...
【DIY小记】修复Win10启动出现蓝屏0xc0000185错误的一些方法
近些日子想到自己尘封已久的笔记本电脑没有开机了,很多软件驱动之类的没有更新,就打算把电脑开起来做一轮批量升级。但开电脑的时候很久没有进入Win10桌面,等了很长一段时间蓝屏提示0xc0000185错误,说系统需要恢复。经历了一番折腾…...
Linux 下的 10 个 PDF 软件
本文[1]是我们正在进行的有关 Linux 顶级工具系列的延续,在本系列中,我们将向您介绍最著名的 Linux 系统开源工具。 随着互联网上越来越多地使用可移植文档格式 (PDF) 文件来获取在线书籍和其他相关文档,拥有 PDF 查看器/阅读器对于桌面 Linu…...
浅谈redis分布式锁
浅谈redis分布式锁 分布式锁介绍 分布式锁,顾名思义,分布式系统中的锁,当多个进程不在同一个系统中时,用分布式锁控制各个进程对共享资源的访问,通过互斥来保持一致性。 使用场景:电商中某商品的秒杀活动…...
【Python保姆级教程】List容器
文章目录 前言一、列表是什么二、列表的定义2.1 有初始值2.2 空列表使用方括号创建空列表使用list()函数创建空列表 三、list列表常用操作3.1 添加元素3.2 删除元素3.3 修改元素3.4 列表长度 四、遍历操作4.1 使用for循环4.2 使用while循环和索引 总结 前言 Python是一种广泛使…...
微服务保护-授权规则
个人名片: 博主:酒徒ᝰ. 个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来。 本篇励志:三人行,必有我师焉。 本项目基于B站黑马程序员Java《SpringCloud微服务技术栈》,SpringCloud…...
v-if失效原因
一般v-if失效都是和绑定变量有关,我所知道的一般有两种 1.绑定的变量为String类型或者其他类型 就是返回的变量类型与所需要的布尔类型不匹配。 <template><div><div id"container" ref"container" v-iftype></div>&l…...
Chrome 基于 Wappalyzer 查看网站所用的前端技术栈
1. 找到谷歌商店 https://chrome.google.com/webstore/search/wappalyzer?utm_sourceext_app_menu 2. 搜索 Wappalyzer 3. 添加至Chrome 4. 使用 插件 比如打开 https://www.bilibili.com/ 就可以看到其所以用的前端技术栈了...
python的装饰器
作用:在不改变原来函数的代码情况下,进行修改,或者增加函数的功能装饰器本质上就是一个闭包雏形:def wrapper(fn): wrapper: 装饰器 , fn: 目标函数def inner():# 在目标函数执行前的一些动作fn()# 在目标函数执行后的一些动作return inner #千万别加(),这里是返回一…...
P2P协议的传输艺术
TP 采用两个 TCP 连接来传输一个文件。 控制连接:服务器以被动的方式,打开众所周知用于 FTP 的端口 21,客户端则主动发起连接。该连接将命令从客户端传给服务器,并传回服务器的应答。常用的命令有:list——获取文件目…...
辅助驾驶功能开发-功能规范篇(21)-4-XP行泊一体方案功能规范
XPilot Parking 自动泊车系统 • 超级自动泊车辅助(Super AutoParking Assist)、语音控制泊车辅助(Autoparking with Speech) - 产品定义 超级自动泊车辅助是⼀个增强的自动泊车辅助系统。在超级自动泊车辅助系统中,识别车位将会变得实时可见, 并且不可泊入的⻋位也将…...
家政服务小程序上门服务小程序预约上门服务维修保洁上门服务在线派单技师入口
套餐一:源码=1500元 套餐二:全包服务 包服务器+域名+认证小程序+搭建+售后=2000元 主要功能: 1、服务商入驻 支持个人或企业入驻成为平台服务商; 2、发布商品 入驻服务商后,可以发布服务商品,用户可以在线下单,预约服务; 3、发布需求 用户可以发布一口价或竞价需求…...
LeetCode精选100题-【3数之和】-2
这里写自定义目录标题 解法1:解法2: 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请你返回所有和为 0 且不重复的三元组。注意:答案中不…...
springboot集成mybatis-plus
一、在spring boot中配置mybatis-plus 1、创建一个spring boot项目,注意勾选mysql 2、在pom.xml文件中添加mybatis-plus的依赖包 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0&qu…...
告别BRAM!手把手教你用Vivado 2020.1为MicroBlaze工程挂载DDR3内存(附完整MIG配置流程)
突破FPGA内存限制:MicroBlaze工程DDR3内存扩展实战指南 在FPGA开发中,MicroBlaze软核处理器因其灵活性和可定制性广受欢迎,但随着应用复杂度提升,内部BRAM的容量限制很快成为性能瓶颈。本文将带您深入探索如何通过Xilinx Vivado 2…...
靠谱的工程防火门公司推荐
在工程行业摸爬滚打十几年,我见过太多因防火门翻车的项目:验收反复返工、产品用了两三年就变形卡死、超大门洞找不到厂家定制…… 这些看似鸡毛蒜皮的小事,一旦卡到消防验收节点上,轻则赔钱延期,重则被责令停工整改。今…...
在Docker环境中安装Hadoop cluster 实验报告三
在Docker环境中安装Hadoop cluster 实验报告三 1个namenode, 3个datanodes 班 级:物联网2303 学 号:231040700302 姓 名:杜子健 (30%) 安装过程 ContainersHadoop 1.1 Containers 创建与配置 (1)拉取稳定镜像…...
电商选品神器:Open Claw + 淘宝 API,一键实现商品监控与智能选品
在电商运营、跨境铺货、店铺竞品分析场景中,实时获取淘宝商品数据、自动监控价格 / 销量 / 库存变化是提升选品效率的核心环节。传统手动查品耗时费力,借助 Open Claw 搭配淘宝专业 API,无需爬虫、绕过风控,就能快速搭建稳定的商品…...
调幅无线传数据:避开这些坑,你的7kHz方波才能传得更远更稳
调幅无线传数据:避开这些坑,你的7kHz方波才能传得更远更稳 在业余无线电和嵌入式通信领域,调幅(AM)无线传输一直是低成本解决方案的热门选择。但许多工程师在尝试用7kHz方波调制高频载波时,总会遇到信号失真…...
macOS 上 GNS3 快速部署与跨 VLAN 通信实战
1. macOS 下 GNS3 的快速安装指南 第一次接触 GNS3 是在准备 CCNP 认证的时候,当时为了省下买真机的钱,在 MacBook Pro 上折腾了好几天。现在回想起来,如果当时有人能给我一份详细的安装指南,至少能少走一半弯路。GNS3 作为网络工…...
如何免费获取Book118文档?这个Java工具让你轻松下载完整PDF
如何免费获取Book118文档?这个Java工具让你轻松下载完整PDF 【免费下载链接】book118-downloader 基于java的book118文档下载器 项目地址: https://gitcode.com/gh_mirrors/bo/book118-downloader 你是否曾经在Book118网站上找到了一份急需的学习资料&#x…...
【Claude API集成实战指南】:20年专家亲授FastAPI高效对接Claude的7大避坑法则
更多请点击: https://intelliparadigm.com 第一章:Claude API集成的核心原理与FastAPI技术选型 Claude API 采用基于 HTTP/2 的流式 REST 接口设计,核心通信模式为双向流(/v1/messages 端点),支持 event:…...
缠论可视化插件:3个步骤让你的技术分析不再迷茫
缠论可视化插件:3个步骤让你的技术分析不再迷茫 【免费下载链接】Indicator 通达信缠论可视化分析插件 项目地址: https://gitcode.com/gh_mirrors/ind/Indicator 你是否曾经面对复杂的K线图感到无从下手?缠论作为技术分析的重要理论,…...
创业早期如何利用导师与代理模型构建核心支持体系
1. 创业早期支持体系的核心价值在技术驱动的创业领域,尤其是半导体、电子设计自动化这类高门槛行业,一个普遍存在的认知是:只要技术足够领先,产品足够创新,成功便是水到渠成。然而,现实往往比这复杂得多。我…...
