我有一个3d matplotlib表面图。 Z轴是标准偏差(-4,+ 4)。我做了一个彩色地图,使-4 =红色,0白色,+ 4绿色。
cmap1 = LinearSegmentedColormap.from_list("my_colormap", ((1, 0, 0),(1,.25,.25),(1,1,1), (0.25,1,0.25),(0, 1, 0)), N=15, gamma=1.0)
它运作良好。但是现在我删除了数据的一半冗余值,但是将下三角矩阵转换为NaN(以及(1,1)(2,2)...(n,n)点= Nan)。
这揭示了我不喜欢的神器。表面绘图的多边形在区域的边界处绘制数据,而具有Nans的区域绘制明亮的红色多边形,这些多边形无视图表的颜色图。我附上了一张我的意思的图片,在这两种情况下,它都是一个丑陋而令人困惑的工件。
有谁知道如何消除这种情况?
答案 0 :(得分:0)
这是一项认真的工作,可能不是最有帮助的。但是可以转换您的域,以便您的有效值占用整个数组。把它想象成"拉伸你的数据"。这导致绘制实线。
它涉及制作你的x和y输入,然后使用scipy的interp2d来找到相应的z值。
我知道这是一个令人讨厌的解决方法,但这是我过去能够提出的最好的解决办法。
答案 1 :(得分:0)