【发布时间】:2016-04-22 16:51:15
【问题描述】:
我正在使用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)
产生如下数字:
fig, ax = plt.subplots(1, figsize=(8,8))
ax.pcolormesh(x, y, masked_data)
这些文物从何而来?据我所知,数据没有任何问题,因为原始数据和合成数据产生相同的结果。
【问题讨论】:
-
嗯。这个答案暗示了一个原因:stackoverflow.com/questions/21166679/…,但在我看来它仍然是一个错误。
-
这就是我害怕的。这最终用于使用
basemap进行绘图,但有no issues reported like what I'm describing。我也没有在matplotlibissue tracker 中找到任何内容。这并不意味着没有。 -
我提交了一份错误报告,似乎我的数据格式不正确。但是我不确定是否是这种情况。 link to bug report
标签: python matplotlib