相关疑难解决方法(0)

matplotlib中的表面图

我有一个3元组的列表,表示3D空间中的一组点.我想绘制一个覆盖所有这些点的表面.mplot3d包中的plot_surface函数需要作为参数X,Y和Z,它们是2d数组.plot_surface是绘制曲面的正确函数吗?如何将数据转换为所需格式?

data = [(x1,y1,z1),(x2,y2,z2),.....,(xn,yn,zn)]

python matplotlib

95
推荐指数
6
解决办法
20万
查看次数

如何使用 matplotlib (Axes3D) 高效地绘制大量 3D 椭球体?

我目前正在使用 python 处理应变数据,并使用 matplotlib (v. 1.5.1) 为有限应变椭球体创建各种图形输出。

处理 1000 个椭球体参数非常快(我正在重用此处提供的一些可爱的 python 代码https://github.com/minillinim/ellipsoid/blob/master/ellipsoid.py),但我的工作流程中的瓶颈与在 3D 绘图中绘制大量 3D 对象所需的时间。

下面我附上了一小段 Python 代码,用于计算和绘制一堆随机椭球体。虽然“ellipNumber”很小,但它的作用就像一个魅力。但是,当它达到 100 时,需要更长的时间.. 到了 1000 秒,我敢打赌你将没有耐心等待。

在 2D 中,我知道使用集合是提高性能的方法:如何快速绘制数千个圆圈?

假设集合确实是可行的方法,我四处寻找一个示例,并尝试使用椭圆体坐标填充 Poly3DCollection,就像他们在 3D 中对多边形所做的那样: Plotting 3D Polygons in python-matplotlib,但我没有成功设置基于 2d x、y 和 z 数组的顶点。

任何有关如何提高椭球体绘图性能的建议/评论将不胜感激!

干杯

import numpy as np
from numpy import linalg
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
from matplotlib import cm
import matplotlib.colors as colors



fig = plt.figure(figsize=(8,8))
ax = fig.add_subplot(111, projection='3d')

# number …
Run Code Online (Sandbox Code Playgroud)

python matplotlib python-2.7 mplot3d

7
推荐指数
0
解决办法
4892
查看次数

使用 Matplotlib 和 numpy 绘制方程组

我正在尝试学习如何使用 matplotlib 和 numpy 为我的一个班级绘制方程组。我们没有得到太多指导,我不太擅长编程,我真的不明白如何做到这一点,尽管我认为它不太复杂。基本上,我有一个这样的方程组:

4x -2y + z =11
-2x +4y -2z = -16
x -2y + 4z = 17
Run Code Online (Sandbox Code Playgroud)

如何使用 matplotlib 绘制每个方程的图形?

谢谢!

编辑:说明还说要使用 mplot3d。编辑:解决方案:如何从 Python 中的一组线性方程绘制平面?

python numpy matplotlib

4
推荐指数
1
解决办法
3839
查看次数

在Python 3中绘制3D多边形

在我以某种方式获得3D多边形实际绘图的过程中,我遇到了以下脚本(编辑:稍微修改):在python-matplotlib中绘制3D多边形

from mpl_toolkits.mplot3d import Axes3D
from matplotlib.collections 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 = [zip(x, y,z)]
ax.add_collection3d(Poly3DCollection(verts),zs=z)
plt.show()
Run Code Online (Sandbox Code Playgroud)

但是当我运行它时,我收到以下错误消息:

TypeError: object of type 'zip' has no len()
Run Code Online (Sandbox Code Playgroud)

看起来这可能是Python 2对3的事情,因为我在Python 3中运行,而且该帖子已有五年了.所以我将第三行到最后一行改为:

verts = list(zip(x, y, z))
Run Code Online (Sandbox Code Playgroud)

现在verts显示在变量列表中,但我仍然收到错误:

TypeError: zip argument #1 must support iteration
Run Code Online (Sandbox Code Playgroud)

什么?我该如何解决?

python matplotlib mplot3d

1
推荐指数
1
解决办法
3518
查看次数

如何使用 matplotlib 在 3D 中绘制三角形?

给定一个如下所示的列表:

triangels =  [
((1,1,1),(2,2,2),(1,3,4)),
((2,3,4),(9,9,9),(3,4,5)),
]
Run Code Online (Sandbox Code Playgroud)

使用 pyplot 在 3D 中绘制两个三角形的最快方法是什么?我没有找到任何方法可以做到这一点,有一个 2D 实现。

谢谢你!

这不是重复的,因为我询问如何将给定列表转换为三角形,我没有要求输入已经被操纵的解决方案。

python 3d matplotlib

1
推荐指数
1
解决办法
1745
查看次数

标签 统计

matplotlib ×5

python ×5

mplot3d ×2

3d ×1

numpy ×1

python-2.7 ×1