Matplotlib surface\u plot colormap被Nan毒死了?

2024-04-26 00:05:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个3d matplotlib surfaceplot。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的区域给出了亮红色的多边形,这些多边形与图表的颜色图不同。我附上了我的意思的图片,在这两种情况下,它都是一个丑陋和混乱的工件I have attached a picture of what I mean,  in both both cases it's an ugly and confusing artifact。你知道吗

有人知道我怎样才能消除这个吗?你知道吗


Tags: 数据from区域matplotlib地图nan多边形彩色
2条回答

对我来说,解决办法不是把NaN沿着(0,0),(1,1)…(n,n)放,而是把这些零放在一起。剩下的我还是换成了南斯。这消除了丑陋的红色撕裂。你知道吗

而不是raw[np.tril_indices(raw.shape[0],-1)] = np.nan

我用了raw[np.tril_indices(raw.shape[0],0)] = np.nan

enter image description here

这是一个严肃的工作,可能不是最有用的。但是可以转换域,使有效值占据整个数组的一部分。把它想象成“扩展你的数据”。这将导致绘制一条实线。你知道吗

它包括手工制作x和y输入,然后使用scipy的interp2d找到相应的z值。你知道吗

我知道这是一个糟糕的解决方法,但这是我过去在紧要关头能想出的最好办法。你知道吗

相关问题 更多 >

    热门问题