OS:Ubuntu 18.04 LTS

我在浏览网页时未能找到以下简单问题的解决方案:

如何使用顶点值绘制3D多边形(比如填充的矩形或三角形)? 我尝试过很多想法,但都失败了,请看:

from mpl_toolkits.mplot3d import Axes3D

from matplotlib.collections import PolyCollection

import matplotlib.pyplot as plt

fig = plt.figure()

ax = Axes3D(fig)

x = [0,1,1,0]

y = [0,0,1,1]

z = [0,1,0,1]

verts = [zip(x, y,z)]

ax.add_collection3d(PolyCollection(verts),zs=z)

plt.show()

上面的解决方案适用于Python 2,在使用python 3运行时出现错误TypeError: object of type 'zip' has no len()。

根据接受的答案更新:

import mpl_toolkits.mplot3d as a3

import matplotlib.colors as colors

import pylab as pl

import scipy as sp

ax = a3.Axes3D(pl.figure())

for i in range(10000):

vtx = sp.rand(3,3)

tri = a3.art3d.Poly3DCollection([vtx])

tri.set_color(colors.rgb2hex(sp.rand(3)))

tri.set_edgecolor('k')

ax.add_collection3d(tri)

pl.show()

结果如下:

我想你差不多了。 这是你想要的吗?

from mpl_toolkits.mplot3d import Axes3D

from mpl_toolkits.mplot3d.art3d import Poly3DCollection

import matplotlib.pyplot as plt

fig = plt.figure()

ax = Axes3D(fig)

x = [0,1,1,0]

y = [0,0,1,1]

z = [0,1,0,1]

verts = [list(zip(x,y,z))]

ax.add_collection3d(Poly3DCollection(verts))

plt.show()

您可能也对art3d.pathpatch_2d_to_3d感兴趣。

如果提示如下错误:

Traceback (most recent call last):

File "1.py", line 1, in

import mpl_toolkits.mplot3d as a3

ModuleNotFoundError: No module named 'mpl_toolkits'

请升级:

python3对应pip3 install --upgrade matplotlib

mpl_toolkits并不是一个单独的包,只需要升级matplotlib即可引入。

python多边形的绘制教程_使用Python matplotlib绘制3D多边形相关推荐

  1. python大数据分析基础教程_基于Python的大数据分析基础及实战

    第1部分 基 础 篇 第1章 Python语言基础 /2 1.0 引子 /2 1.1 工欲善其事,必先利其器(安装Python) /3 1.2 学跑得先学走(语法基础) /9 1.3 程序结构 /11 ...

  2. python刷b站教程_【Python】【学习资源】B站上的Python学习资源

    摘自:https://mp.weixin.qq.com/s/74wYHzF2vJeBnk8nIXIJ_Q 01小甲鱼的零基础入门学习Python B站播放量最高的Python教程,一共97讲,链接:h ...

  3. python编写小游戏教程_用Python开发 写个消消乐小游戏

    提到开心消消乐这款小游戏,相信大家都不陌生,其曾在 2015 年获得过玩家最喜爱的移动单机游戏奖,受欢迎程度可见一斑,本文我们使用 Python 来做个简单的消消乐小游戏. 实现 消消乐的构成主要包括 ...

  4. python处理表格数据教程_用Python的pandas框架操作Excel文件中的数据教程

    引言 本文的目的,是向您展示如何使用pandas来执行一些常见的Excel任务.有些例子比较琐碎,但我觉得展示这些简单的东西与那些你可以在其他地方找到的复杂功能同等重要.作为额外的福利,我将会进行一些 ...

  5. python处理表格数据教程_利用Python处理Excel数据

    本文的数据源是朝阳医院2016的销售数据,课程是使用R语言来进行数据处理的,这里尝试采用Python来处理. 要求的业务指标是:1)月均消费次数:2)月均消费金额:3)客单价:4)消费趋势 这几个指标 ...

  6. python制作表情包教程_使用Python制作表情包实现换脸功能

    "表情包"是现在非常流行的交流方式,通过一张图片就能把文字不能表达或不便于表达的情感给表示出来,表情包一经诞生,就统治了中国人的社交圈,尤其是年轻人,他们的社交方式是所谓" ...

  7. python多边形的绘制教程_绘制最新:python绘制封闭多边形教程_爱安网 LoveAn.com

    关于"绘制"的最新内容 聚合阅读 今天小编就为大家分享一篇python绘制封闭多边形教程,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧... 这篇文章主要介绍了P ...

  8. python常用模块教程_盘点Python常用的模块和包

    模块 1.定义 计算机在开发过程中,代码越写越多,也就越难以维护,所以为了编写可维护的代码,我们会把函数进行分组,放在不同的文件里.在python里,一个.py文件就是一个模块. 2.优点: 提高代码 ...

  9. mac python运行按哪个键_#mac python如何使用教程#怎么在mac终端运行python程序

    mac如何投屏手机 1.首先,解iPhone,然后用手指从下往上,打开控心,在其中就可以找到AirPlay了屏幕镜像. 2.接来下就来教大家如何使用AirPlay吧,首先将手机和电脑连接在同一WiFi ...

  10. python回合制游戏教程_适合初学者练手的 10 个 有趣Python项目|python教程|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ 想成为一个优秀的开发者,没有捷径可走,势必要花费大量时间在键盘后. 而不断地进行各种小项目开发,可以为之后 ...

最新文章

  1. 学 Python 必看书单汇总
  2. Android Service演义
  3. 如何隐藏storyboard中的top bar
  4. java的(PO,VO,TO,BO,DAO,POJO)解释1
  5. linux 所有命令无法使用
  6. 如何在本地管理和切换多个 github 账号?
  7. Silverlight 解谜游戏 之七 放大镜(3)
  8. Oracle远程服务端配置
  9. Spark 按key聚合求平均值与占比
  10. 获取CPUID序列号的两种办法
  11. 正规矩阵的谱分解MATLAB,正规矩阵的谱分解.PDF
  12. 重庆—java互联网架构软件工程师学习记录—Day11(API 1)
  13. KGB知识图谱通过数据可视化提升金融行业分析能力
  14. 笔记本按开机键没反应怎么办
  15. 有关爬虫加载Ajax数据或请求json数据集的(快速高效)方法
  16. 特征提取——Hand-crafted feature
  17. 矩阵分解及其Eigen实现
  18. BT种子文件格式[ ]
  19. led显示屏十大品牌
  20. 基于STM32单片机的差分升级(增量升级)算法

热门文章

  1. Win10激活(家庭版升级到专业版)带你5分钟解决
  2. php网页 背景图片,CSS实现网页背景图片自适应全屏详解
  3. 电子计算机上的GT是什么意思,计算机上的“GT”是什么意思啊
  4. wdcp虚拟主机管理系统注入漏洞
  5. find函数的使用方法Matlab,matlab中find函数的使用说明——emily语法介绍
  6. sleep、yield、join方法简介与用法 sleep与wait区别 多线程中篇(十五)
  7. 不可预料的压缩文件末端的解决方法
  8. 联想Filez zBox2022企业版为企业的 “零信任体系”构建保驾护航
  9. 摄像头能用计算机里不显示,摄像头没有显示
  10. 词法分析器--简易版