30行Python代码实现3D数据可视化!非常惊艳!

2023-11-13

回顾 2D 作图

用赛贝尔曲线作 2d 图。此图是用基于 Matplotlib 的 Path 通过赛贝尔曲线实现的,有对赛贝尔曲线感兴趣的朋友们可以深入了解一下。在 matplotlib 中,figure 为画布,axes 为绘图区,fig.add_subplot()、plt.subplot() 方法均可以创建子图。以下是作图实践。

import matplotlib.path as mpath
import matplotlib.patches as mpatches
import matplotlib.pyplot as plt

fig, ax = plt.subplots()
#定义绘图指令与控制点坐标
Path = mpath.Path
# Path 控制坐标点绘制贝塞尔曲线
# 图形数据构造

# MOVETO表示将绘制起点移动到指定坐标
# CURVE4表示使用4个控制点绘制3次贝塞尔曲线
# CURVE3表示使用3个控制点绘制2次贝塞尔曲线
# LINETO表示从当前位置绘制直线到指定位置
# CLOSEPOLY表示从当前位置绘制直线到指定位置,并闭合多边形
path_data = [
    (Path.MOVETO, (1.88, -2.57)),
    (Path.CURVE4, (0.35, -1.1)),
    (Path.CURVE4, (-1.75, 1.5)),
    (Path.CURVE4, (0.375, 2.0)),
    (Path.LINETO, (0.85, 1.15)),
    (Path.CURVE4, (2.2, 3.2)),
    (Path.CURVE4, (3, 0.05)),
    (Path.CURVE4, (2.0, -1.5)),
    (Path.CLOSEPOLY, (1.58, -2.57)),
    ]
codes,verts = zip(*path_data)
path = mpath.Path(verts, codes)
patch = mpatches.PathPatch(path, facecolor='r', alpha=0.5)
ax.add_patch(patch)
# plot control points and connecting lines
x, y = zip(*path.vertices)
line, = ax.plot(x, y, 'go-')
ax.grid()
ax.axis('equal')
plt.show()

心型效果图

3D 帽子图1

Matplotlib 绘制 3D 图形使用的是 mplot3d Toolkit,即 mplot3d 工具包。绘制 3D 图可以通过创建子图,然后指定 projection 参数 为 3d 即可,返回的 ax 为

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

30行Python代码实现3D数据可视化!非常惊艳! 的相关文章

随机推荐

  • 使用VS2010编写Linux程序

    使用VS2010开发Linux程序的好处 编写和调试都很方便 甚至不用自己编写Makefile文件 系统直接就生成了 特别是对于一些不熟悉Linux环境以及gdb调试的同学来说 这个就相对来说容易上手多了 下面就来介绍下环境的搭建 环境 w
  • mac电脑前端环境配置【包含m1芯片】

    目录 一 nvm的安装 1 卸载已安装到全局的 node npm 2 nvm安装 安装命令 常用命令 可能的问题 二 Git环境 1 安装git 2 git ssh 配置 3 重新配置 重新配置 也要在Terminal终端进行 4 测试配置
  • windwos11降级,重装Windows10

    windwos11降级 重装Windows10 序言 硬件信息 前提说明 制作U盘启动盘 修改电脑bios配置 重装系统 U盘启动 注意事项 驱动问题 序言 电脑到手查看安装的是Windows11家庭版系统 在视觉上整体感受更加圆滑柔顺 但
  • C++中动态数组实现

    实现动态数组 动态数组 示例代码 运行环境 运行效果 动态数组 动态数组Vector可以动态扩展内存 其采用连续的内存空间 当内存空间不足 便以原来的容量的2倍或者1 5倍成倍的扩展 将原有的数组元素拷贝到新分配的内存空间中 释放原有的内存
  • [Unity3D]呼风唤雨:天气插件UniSky的使用教程与案例

    UniSky是Unity3D的一款模拟环境天气的插件 使用它可以简单的实现呼风唤雨的各种功能 下载地址 请点击我 使用起来也非常的方便 引入Package后 注意路径必须是英文否则会出错 Project中会多一个文件夹 下面我们来简单的创建
  • 华为OD机试 【玩牌高手】(Java )

    题目 代码 import java util Scanner public class CardScoreCalculator public static void main String
  • 关于线性回归那些事儿

    1 如何理解线性回归中的方差齐性 在两组和多组比较中 每组都有很多数据 可以求出每组的方差 然后比较就行了 很容易理解 但是在线性回归中 有的人就不理解方差齐性是什么意思了 因为线性回归中自变量x不是分类变量 x取值很多 通常情况下 每个x
  • C++使用std::thread 多线程展开for循环,for循环并行计算

    比如说有一个for循环 需要迭代100次 来累加1 2 3 100计算其结果 创建10个线程 第一个线程累加1 2 10 第二个线程计算11 12 20等 那么如何优化呢 其实OpenMP库是可以直接调用的 只需要在for循环上面加一个指令
  • 搭建Node开发环境,Node.js的集成开发环境(IDE)搭建

    搭建Node开发环境 使用文本编辑器来开发Node程序 最大的缺点是效率太低 运行Node程序还需要在命令行单独敲命令 如果还需要调试程序 就更加麻烦了 所以我们需要一个IDE集成开发环境 让我们能在一个环境里编码 运行 调试 这样就可以大
  • Springboot结合线程池的使用

    1 使用配置文件配置线程的参数 配置文件 thread pool core size 100 max size 100 keep alive seconds 60 queue capacity 1 配置类 Component Configu
  • 【华为OD机试真题c++/java/python】农场施肥【2023 Q1A卷

    2023华为OD机试 刷题指南 点这里 华为OD机试 2023真题考点分类 点这里 题目描述 某农场主管理了一大片果园 fields i 表示不同果林的面积 单位 m 2 现在要为所有的果林施肥且必须在 n 天之内完成 否则影响收成 小布是
  • 数据库SQL千万级数据规模处理概要

    我在前年遇到过过亿条的数据 以至于一个处理过程要几个小时的 后面慢慢优化 查找一些经验文章 才学到了一些基本方法 综合叙之 与君探讨之 1 数据太多 放在一个表肯定不行 比如月周期表 一个月1000万 一年就1 2亿 如此累计下去肯定不行的
  • Android Studio Button 美化

    改变按钮Button控件的边角 填充颜色 边框颜色 步骤 在 res gt drawable 中新建一个 btn all shape xml
  • Unity——新输入系统Input System

    1 安装 安装 直接到包管理器Window gt Package Manager安装即可 安装后提示需要重启 重启后即可使用 注意 在Project Settings中的Player设置里将Active Input Handling设置为I
  • 计算鬼成像学习笔记一:简介

    这里写目录标题 1 何为鬼成像 1 1 传统光学成像 所见即所得 1 2 鬼成像 又称关联成像 1 2 1 桶探测器 1 2 2 CCD 1 2 3 空间分辨率 1 2 4 光源 1 2 5 纠缠光子 1 2 6 赝热光源 1 2 7 散斑
  • springboot maven 子模块没有java文件夹 或 pom.xml灰色

    1 pom xml灰色 2 子模块 modules 没有添加到父模块 报错
  • 大学【微机原理与接口技术】参考资料、该视频笔记

    该百度网盘链接 是我学习 微机原理与接口技术 的参考资料 感觉讲的不错 有需要评论区下发qq邮箱 我看到会发给你 该视频笔记参考我的博客 https blog csdn net weixin 42214698 category 115770
  • PPPoE原理与配置方法

    一 PPPoE原理 数字用户线路DSL Digital Subscriber Line 是以电话线为传输介质的传输技术 人们通常把所有的DSL技术统称为xDSL x代表不同种类的数字用户线路技术 目前比较流行的宽带接入方式为ADSL ADS
  • 从零开始的webpack生活-0x014:CustomLoader自定义loader

    0x001 概述 上一章我们讲了eslint loader的配置 常用类型的常用loader已经都讲完了 大体上其他的都大同小异 需要去各大loader的官方查阅用户手册就可以了 接下来将loader的本质和自定义loader 0x002
  • 30行Python代码实现3D数据可视化!非常惊艳!

    回顾 2D 作图 用赛贝尔曲线作 2d 图 此图是用基于 Matplotlib 的 Path 通过赛贝尔曲线实现的 有对赛贝尔曲线感兴趣的朋友们可以深入了解一下 在 matplotlib 中 figure 为画布 axes 为绘图区 fig