python 用 matplotlib 在 3D 空间中连点成线,绘制立体图形

图形预览:

0、import

1、简单的连点成线

# 创建画布
fig = plt.figure(figsize=(12, 8),
                 facecolor='lightyellow'
                )

# 创建 3D 坐标系
ax = fig.gca(fc='whitesmoke',
               projection='3d'
              )

# 绘制 3D 图形

ax.plot3D(xs=[2, 0, 2, 2, 2, 0, 2],    # x 轴坐标
          ys=[0, 2, 2, 0, 2, 2, 2],    # y 轴坐标
          zs=[2, 2, 2, 2, 0, 2, 2],    # z 轴坐标
          zdir='z',    #
          c='k',    # color
          marker='o',    # 标记点符号
          mfc='r',    # marker facecolor
          mec='g',    # marker edgecolor
          ms=10,    # size
        )

ax.plot(xs=[2, 0, 0, 0, 1, 2, 0, 1, 2],
        ys=[0, 0, 2, 0, 1, 2, 0, 1, 2],
        zs=[2, 0, 2, 0, 1, 2, 0, 0, 0],
        ls=':',
        color='grey',
        marker='o',
        mfc='r',
        mec='g'
       )

# 设置坐标轴标题和刻度
ax.set(xlabel='X',
       ylabel='Y',
       zlabel='Z',
       xticks=np.arange(0, 4, 0.5),
       yticks=np.arange(0, 4, 0.5),
       zticks=np.arange(0, 4, 0.5)
      )

# 调整视角
ax.view_init(elev=20,    # 仰角
             azim=40    # 方位角
            )

# 显示图形
plt.show()

图形:

2、立方体

# 创建画布
fig = plt.figure(figsize=(12, 8),
                 facecolor='lightyellow'
                )

# 创建 3D 坐标系
ax = fig.gca(fc='whitesmoke',
               projection='3d'
              )

x = [7, 7, 7, 7, 3, 3, 3, 3]
y = [3, 7, 7, 3, 3, 7, 7, 3]
z = [7, 7, 3, 3, 7, 7, 3, 3]
A, B, C, D, E, F, G, H = zip(x, y, z)

# 绘制 3D 图形
lines_1 = zip(A, B, C, D, A, E, F, G, C, B, F)
ax.plot3D(*lines_1,
          zdir='z',    #
          c='k',    # color
          marker='o',    # 标记点符号
          mfc='r',    # marker facecolor
          mec='g',    # marker edgecolor
          ms=10,    # size
        )

lines_2 = zip(D, H, E, G, H)
ax.plot(*lines_2,
        ls=':',
        color='b',
        marker='o',
        mfc='r',
        mec='g'
       )

# 设置坐标轴标题和刻度
ax.set(xlabel='X',
       ylabel='Y',
       zlabel='Z',
       xlim=(0, 9),
       ylim=(0, 9),
       zlim=(0, 9),
       xticks=np.arange(0, 10, 2),
       yticks=np.arange(0, 10, 1),
       zticks=np.arange(0, 10, 1)
      )

# 添加顶点字母标注
for pos in list('abcdefgh'.upper()):
    ax.text(*eval(pos),
           s=pos,
           fontsize=18,
           color='darkgreen')

# 调整网格线
ax.grid()

# 调整视角
ax.view_init(elev=15,    # 仰角
             azim=40   # 方位角
            )

# 显示图形
plt.show()

图形:

软件信息:

Original: https://www.cnblogs.com/shanger/p/13199793.html
Author: 赏尔
Title: python 用 matplotlib 在 3D 空间中连点成线,绘制立体图形

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/15624/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 008 Python、Anaconda、pip、Pycharm、Jupyter 的下载

    下载,3.6+,最新版版本 3.+,基本上都是换汤不换药 下一步下一步安装(Add to path) 环境变量 win+r—》cmd 当你在终端个输入 python,其…

    Python 2022年8月12日
    0300
  • Python-mne库使用教程

    一.读取数据 mne库支持多种数据格式的读取,这里我来写一点我的样例。一个是从csv读取数据,一个是读取EDF(信息较为多)里的数据。 1.从csv读取数据 csv读取的话只有电压…

    2022年8月24日
    0390
  • 弹幕全是“二刷”,这部剧有多好看?Python爬取腾讯视频1.1W弹幕,做词云分析

    《猎罪图鉴》可以说是国产悬疑剧之光了,上线首周热度不断飙升。该剧讲述了因一起尘封旧案而结怨的模拟画像师沈翊和刑警队长杜城,在机缘巧合下被迫搭档,两人联手侦破多起离奇疑案,共同追踪谜…

    Python 2022年9月3日
    0290
  • [ Python入门教程 ] Python中日志记录模块logging使用实例

    python中的logging模块用于记录日志。用户可以根据程序实现需要自定义日志输出位置、日志级别以及日志格式。 一个最简单的logging模块使用样例,直接打印显示日志内容到屏…

    Python 2022年8月14日
    0390
  • python-各种格式化输出

    print函数中总是涉及到各式各样的输出,为了方便学习和查询,今天在这里特意做一个总结!注意:#后为输出结果 1、”,”分隔 hello world(默认空…

    Python 2022年9月3日
    0630
  • Python bool 详解 (扒源码)

    一、布尔类型描述 布尔类型是计算机中最基本的类型,它是计算机二进制世界的体现,一切都是 ​ ​0​​ 和 ​ ​1…

    2022年9月3日
    0270
  • 基于Python构建机器学习Web应用

    目录 一、内容介绍 1.Onnx模型 ①skl2onnx库安装 2.Netron安装 二、模型构建 1.数据加载 2.划分可训练特征与预测标签 3.训练模型 ①第三方库导入 ②数据…

    2022年8月24日
    0390
  • python中执行shell命令

    查看输出结果 import os output = os.popen(‘cat 6018_gap_5_predict/solusion2/solusion2_0-1.txt | w…

    Python 2022年8月14日
    0340
  • Pytest框架 — 13、Pytest的标记(四)(分组执行)

    1、前言 在自动化测试工作中我们有时候并不需要测试所有的测试用例,比如在冒烟测试阶段,我们只需要测试基本功能是否正常就可以了。在 pytest中提供了 mark标记功能来实现分组执…

    Python 2022年9月3日
    0220
  • python的xpinyin模块:汉字转拼音

    pypinyin 1、安装 pip install pypinyin 2、使用方法 >>> from pypinyin import pinyin, lazy_p…

    Python 2022年8月6日
    0780
  • python读取txt数据

    1、操作步骤 (1)打开文件读取整个文件 函数open返回一个表示文件的对象,对象存储在infile中。关键字with在不需要访问文件时将其自动关闭。读取出的内容以字符串形式保存在…

    2022年8月21日
    0390
  • Python学习笔记(八)–Django框架

    1.什么是框架? 框架就是程序的骨架,主体结构,也是个半成品。 2.框架的优缺点 可重用、成熟,稳健、易扩展、易维护。 3.Python中常见的框架 (1)大包大揽Django被官…

    2022年8月14日
    0320
  • 【python二级-练习题】

    python江湖 1、求长方形面积 * 题目描述: – 代码如下: 2、随机密码验证 * 题目描述: – 代码如下: 3、信息分配表(字典) * 题目描述:…

    2022年8月19日
    0330
  • python数据结构之动态规划

    🐛今天要给大家介绍的内容是数据结构中一种较为重要的思想:动态规划(dynamic programming),听到这里,可能很多小伙伴会觉得这个词很陌生,觉得这是一种很复杂的思想,学…

    2022年8月28日
    0270
  • Python 绘制数据散点图

    🏳️‍🌈Python 有着强大的绘图库 matplotlib, 该库集成了大量的绘图函数,可以满足我们平时绝大多数的绘图需求。其中,matplotlib 库是 Python 进行可…

    2022年8月28日
    0260
  • python文件打包成exe

    python文件打包成exe 可执行文件 : 以game2048.py脚本为例,实现打包生成可执行文件。 本文介绍将python文件打包成exe可执行文件的方法。 关键库: 提示:…

    2022年8月22日
    0340
  • C++中调用Python脚本

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段。 编程之家小编现在分享给大家,也给大家做个参考。 C++中调用 Python脚本的意义就不讲了,至少你可以把它当成文本形…

    Python 2022年8月14日
    0330
  • 第四百一十四节,python常用算法学习

    本节内容 算法定义 时间复杂度 空间复杂度 常用算法实例 1.算法定义 算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法…

    2022年8月14日
    0400
  • Python字符串拼接的四种方法

    在程序实际应用中,少不了要进行字符串拼接的操作。下面介绍一下Python语言中四种字符串拼接的方式。 在Python中算术运算符一共有七种种,分别是 +、 -、 *、 /、 //、…

    Python 2022年8月20日
    0420
  • 清华源conda 安装gpu版本的pytorch总是推送cpu版本解决办法

    方法一 1.用conda list 看看有没有cpuonly这个包,有的话删掉,这个包是装不上gpu版本的罪魁祸首。 conda uninstall cpuonly 2.装pyto…

    2022年8月28日
    0450
  • python中dot函数总结

    本文结合其他博主的一些介绍总结了dot函数运算过程 基本简介 dot函数为numpy库下的一个函数,主要用于矩阵的乘法运算,其中包括:向量内积、多维矩阵乘法和矩阵与向量的乘法。 1…

    2022年8月28日
    0370
  • 不会吧,学过爬虫连这个网站都爬不了?那Python岂不是白学了

    本文内容 系统分析目标网页 html标签数据解析方法 海量图片数据一键保存 环境介绍 python 3.8 pycharm 模块使用 requests >>> p…

    Python 2022年9月5日
    0220
  • 基础数据类型之集合

    1.集合的定义 在{}内用逗号分开多个元素,多个元素满足以下三个条件: 1.集合元素必须是不可变类型2.集合元素无序3.集合内元素没有重复(打印出来会自动去重) d = {} 默认…

    Python 2022年9月3日
    0230
  • 技术 | Python工具箱系列(一)

    Python作为当下最火的开发语言,已经成为程序员必备技能。本系列将从商业航天软件开发的角度来开始从零打造个人使用的软件小工具箱。本系列讨论的工具箱,类似于瑞士小军刀,不追求宏大完…

    2022年9月3日
    0210
  • 使用pyenv安装多个Python版本

    pyenv是一个便于使用多版本Python环境的工具 pyenv使用shell脚本编写的,只需要下载就可以使用了,不需要root用户,这个我比较喜欢。 具体介绍看网址:https:…

    Python 2022年8月16日
    0460
  • 1.10 删除序列中的重复元素并保持顺序

    怎样在一个序列上面保持元素顺序的同时消除重复的值? 如果序列上的值都是 hashable类型(简言之,python中不可变对象就是 hashable类型的,具体介绍参考官方文档),…

    Python 2022年9月5日
    0320

发表回复

登录后才能评论
免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部