matplotlib学习笔记10.3D绘图

2023-10-29 18:30

本文主要是介绍matplotlib学习笔记10.3D绘图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

import numpy as np
import matplotlib.pyplot as plt
# 不用打imshow也能显示
%matplotlib inline 
from mpl_toolkits.mplot3d import Axes3D

3D

fig = plt.figure()
# 相当于把2维图放到Axes3D渲染
ax = Axes3D(fig)x = np.arange(-4,4,0.25)
y = np.arange(-4,4,0.25)# 形成矩阵
X,Y = np.meshgrid(x,y)
Z = np.sin(np.sqrt(X**2+Y**2))# 画面, rstride是密度相关的
# 注意画面的时候,z需要矩阵
ax.plot_surface(x,y,Z, rstride=1, cstride=1, cmap='rainbow')
<mpl_toolkits.mplot3d.art3d.Poly3DCollection at 0x1b1c214d208>

请添加图片描述

  • 子图的3d画法
fig = plt.figure()
# 需要加一个projection
ax = fig.add_subplot(211, projection='3d')x = np.arange(-4,4,0.25)
y = np.arange(-4,4,0.25)
z = np.sin(np.sqrt(x**2+y**2))
# 画线只需要三维坐标
ax.plot(x,y,z)
[<mpl_toolkits.mplot3d.art3d.Line3D at 0x1b1c1f1c0f0>]

请添加图片描述

  • 画散点图也一样,以及指定观察角度
fig = plt.figure()
# 需要加一个projection
ax = fig.add_subplot(211, projection='3d')x = np.arange(-4,4,0.25)
y = np.arange(-4,4,0.25)
z = np.sin(np.sqrt(x**2+y**2))
# 画线只需要三维坐标
ax.scatter(x,y,z)
# 可以指定观察角度
#ax.view_init(20,20)
<mpl_toolkits.mplot3d.art3d.Path3DCollection at 0x1b1c36276d8>

请添加图片描述

  • 3d条形图
fig = plt.figure(figsize=(8,10))
# 需要加一个projection
ax = fig.add_subplot(211, projection='3d')
ax.set_zlim([0,4])for i in range(3):x = np.arange(0,4,0.25) y = np.arange(0,4,0.25) # zdir表示地三维的ax.bar(x,y,zs=i*10, zdir='y', alpha=0.5)

请添加图片描述


这篇关于matplotlib学习笔记10.3D绘图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/302556

相关文章

使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)

《使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)》字体设计和矢量图形处理是编程中一个有趣且实用的领域,通过Python的matplotlib库,我们可以轻松将字体轮廓... 目录背景知识字体轮廓的表示实现步骤1. 安装依赖库2. 准备数据3. 解析路径指令4. 绘制图形关键

Python中OpenCV与Matplotlib的图像操作入门指南

《Python中OpenCV与Matplotlib的图像操作入门指南》:本文主要介绍Python中OpenCV与Matplotlib的图像操作指南,本文通过实例代码给大家介绍的非常详细,对大家的学... 目录一、环境准备二、图像的基本操作1. 图像读取、显示与保存 使用OpenCV操作2. 像素级操作3.

8种快速易用的Python Matplotlib数据可视化方法汇总(附源码)

《8种快速易用的PythonMatplotlib数据可视化方法汇总(附源码)》你是否曾经面对一堆复杂的数据,却不知道如何让它们变得直观易懂?别慌,Python的Matplotlib库是你数据可视化的... 目录引言1. 折线图(Line Plot)——趋势分析2. 柱状图(Bar Chart)——对比分析3

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

Python使用Matplotlib绘制3D曲面图详解

《Python使用Matplotlib绘制3D曲面图详解》:本文主要介绍Python使用Matplotlib绘制3D曲面图,在Python中,使用Matplotlib库绘制3D曲面图可以通过mpl... 目录准备工作绘制简单的 3D 曲面图绘制 3D 曲面图添加线框和透明度控制图形视角Matplotlib

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert