【发布时间】:2022-03-27 10:33:53
【问题描述】:
我有三个一维数组,它们代表半径、高度和在该点测量的强度。我已经绘制了这些以创建 2D 等高线图。下面是数据存储方式的一个简单示例:
import numpy as np
import matplotlib.pyplot as plt
x = [1,1,1,2,2,2,3,3,3]
y = [1,2,3,1,2,3,1,2,3]
intensity = [5,6,8,9,9,11,15,5,2]
plt.xlabel('Radius')
plt.ylabel('Height')
plt.tricontourf(x,y,intensity)
plt.colorbar(label='Intensity')
plt.show()
(我不得不使用 plt.tricontourf 而不是 plt.contour,因为 z 数据不是二维的)
我希望通过 360 度“扫描”2D 图来创建 3D 图,创建一个方位角对称的圆盘。下图说明了我正在尝试做的事情......
...数据通过 360 度平滑插值。
有几个类似的问题,特别是this one,但这并没有使用三组数据来创建轮廓。
【问题讨论】:
-
基本上你想使用强度来为你的 3D 绘图着色吧?
-
在您的示例中,我没有看到定义的“表面”。如果您绘制它,您将无法观察到更靠近 z 轴的内层。您能否提供一个示例作为示例输出?
-
@Z Li 是的,你是对的。然而,在我的完整数据集中,强度在更大的半径处减小。降低 alpha 将使内部较亮的区域可见
标签: python matplotlib plot