当前位置: 首页 > 面试题库 >

Python-matplotlib中的曲面图

闻人志
2023-03-14
问题内容

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

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

问题答案:

对于曲面,它与三元组列表略有不同,您应该为2d数组中的域传递网格。

如果您只拥有3d点列表而不是某些函数f(x, y) -> z,那么您将遇到问题,因为有多种方法可以将3d点云划分为表面。

这是一个光滑的表面示例:

import numpy as np
from mpl_toolkits.mplot3d import Axes3D  
# Axes3D import has side effects, it enables using projection='3d' in add_subplot
import matplotlib.pyplot as plt
import random

def fun(x, y):
    return x**2 + y

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
x = y = np.arange(-3.0, 3.0, 0.05)
X, Y = np.meshgrid(x, y)
zs = np.array(fun(np.ravel(X), np.ravel(Y)))
Z = zs.reshape(X.shape)

ax.plot_surface(X, Y, Z)

ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')

plt.show()


 类似资料:
  • 本文向大家介绍matplotlib 同一图中的多条线/曲线,包括了matplotlib 同一图中的多条线/曲线的使用技巧和注意事项,需要的朋友参考一下 示例            

  • 问题内容: 我有一些外部程序作为XYZ值生成的表面数据。我想使用matplotlib创建以下图形: 表面图 等高线图 等高线图与表面图叠加 我看了几个在matplotlib中绘制表面和轮廓的示例-但是,Z值似乎是X和Y的函数,即Y〜f(X,Y)。 我认为我将需要转换我的Y变量,但是我还没有看到任何显示该操作方法的示例。 因此,我的问题是这样的:给定一组(X,Y,Z)点,如何从该数据生成曲面和轮廓图

  • 问题内容: 每当我尝试一次拟合过程时,我都会尝试刷新gui中的一些图。而且,这些图位于可调整大小的框架中,因此在调整大小后需要重新绘制轴和标签等。因此,我想知道是否有人知道如何使用和来更新图形的边。这似乎仅复制并变色绘图区域的背景(绘制线条的背景),而不复制到图形或图形的侧面(标记和刻度线所在的位置)。我一直在尝试通过反复试验和阅读mpl文档来更新图形,但是到目前为止,我的代码已经变得非常复杂,例

  • 问题内容: 我想使用matplotlib来说明两个区域之间的定积分:x_0和x_1。 给定以下图,如何在matplotlib中的曲线下的阴影区域从x = -1到x = 1着色 问题答案: 结帐。这是有关填充受约束区域的示例。

  • Matplotlib是一个python库,用于通过使用python脚本创建2D图形和绘图。 它有一个名为pyplot的模块,它通过提供控制线条样式,字体属性,格式化轴等的功能,使绘图变得容易。它支持各种各样的图形和图形 - 直方图,条形图,功率谱,错误图表等它与NumPy一起使用,为MatLab提供了一个有效的开源替代环境。 它也可以用于PyQt和wxPython等图形工具包。 通常,通过添加以下

  • 本文向大家介绍Python使用matplotlib绘制三维参数曲线操作示例,包括了Python使用matplotlib绘制三维参数曲线操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python使用matplotlib绘制三维参数曲线操作。分享给大家供大家参考,具体如下: 一 代码 二 运行结果 更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结