当前位置: 代码迷 >> python >> mplot3中的`plot_surface`如何使用其前两个二维参数?
  详细解决方案

mplot3中的`plot_surface`如何使用其前两个二维参数?

热度:52   发布时间:2023-06-19 09:22:04.0

寻找一种使用mplot3d绘制函数z=f(x,y)的方法,我发现 ,第一个示例看起来恰好。

综观的参数plot_surface(X, Y, Z)三人都需要像大小的2维阵列。

我知道为什么Z应该是二维的,但是为什么XY是二维的呢? 我以为我只是不明白什么是“表面图”,但是我发现所有非matplotlib引用都使用前一维参数作为一维数组。 二维XY使用?

我会尝试用语言解释。 plot_surface(X, Y, Z)生成一个3-d图形。 现在,假设我们有一个10x10 = 100点的2-d(xy)网格,其中x从1到10,y从1到10。现在总共有100对(x,y),如(1, 1),(1,2),(1,3)...(1,10),(2,1),(2,2)....(2,10)....(10, 1),(10,2)...(10,10)。

现在,为每个(x,y)对定义一个对应的z值。 这意味着总共有100(x,y)对,总共有100个z值。 如果仅使用X=[1,2,3,4,5,6,7,8,9,10]Y=[1,2,3,4,5,6,7,8,9,10]那么您基本上想为所有这100个点提供X坐标。 由于每个Y值共享相同的X坐标,因此这10个X值将重复10次(因为您有10个Y值)。 因此,您将创建一个100 X值的网格。 同样适用于Y,因此您拥有100个Y值的网格。 从网状网格生成这100对(x,y),并具有100个Z值,您只需使用plot_surface(X, Y, Z)