我使用matplotlib
函数pcolormesh
和imshow
绘制数据,当我使用pcolormesh
时,它会产生一些伪影,似乎会滑动一些数据:
而imshow
没有:
我能够给出一个具有相同人工制品的例子
import numpy as np
import pandas as pd
data = pd.DataFrame({'x':np.random.normal(loc=0.5, size=5000)
, 'y':np.random.normal(loc=0.5, size=5000)
, 'z':np.random.normal(loc=0.5, size=5000)})
data_pivot = data.pivot(index='x', columns='y', values='z')
x = data_pivot.index.values
y = data_pivot.columns.values
z = data_pivot.values
masked_data = np.ma.masked_invalid(z)
从而得出如下图:
^{pr2}$这些文物是从哪里来的?据我所知,这些数据没有任何问题,因为原始数据和合成数据产生的结果是相同的。在
答案是,我的数据格式不正确。
pcolormesh
要求输入数组具有正确的列数和行数,即使这些列和行都是nan。因此,当它在数据中发现一个“空白”时,它会用最后一个已知的值来填充它。工件不是工件,而是数据中的缺口。在我最初的例子中,我假设imshow
是正确的,而实际上它并没有解释这些差距。在相关问题 更多 >
编程相关推荐