【发布时间】:2013-11-03 13:01:34
【问题描述】:
我正在尝试为从两个表面之间进行的测量绘制一些数据。系统中的 z 方向定义为垂直于表面。问题是,沿着我的绘图的 x 轴,我正在改变两个表面之间的间距,这意味着对于每个切片,y 轴的最小值/最大值都会发生变化。我通过呈现一个归一化的 y 轴来规避这个问题,其中 z_min 是底面,z_max 是顶面:
但是,这种表示在某种程度上扭曲了数据。理想情况下,我想在 y 轴上显示到墙壁的实际距离,并将系统边界之外的区域留白。我(糟糕地)勾勒了我在这里的设想(当然,热图上的实际分布应该看起来不同):
我可以很容易地绘制出我想要的 3D 散点图,如下所示:
但是如何将数据转换为热图的可绘图形式?
我猜我必须炸毁 MxN 数组并通过插值填充缺失值,或者只是将它们标记为 NAN?但是我也不太清楚如何在我的配色方案中添加硬截止以使系统之外的所有内容都变为白色。
【问题讨论】:
-
我知道这是一个老问题,但你能把你的代码用来生成这个“非常简单”的散点图吗?这正是我现在所需要的。谢谢!
-
我现在找不到确切的代码,但这是一个 3D 散点图。有几个这样的教程:matplotlib.org/examples/mplot3d/scatter3d_demo.html
标签: python matplotlib heatmap