我想知道如何在不插入数据本身的情况下插入 plt.contourf
图。问题是因为当我尝试 scipy.interpolate.griddata
时因为我的数据太长而花费了很多时间。
我想知道是否有一种方法可以通过 pyplot 或更快的方法来绘制没有这些空白的 NaNs
数据。
例如:
如果我有:
import numpy as np.
from numpy import nan
import matplotlib.pyplot as plt
a = np.array([[ 9., 3., 2., 5., 9., 3., 2., 5.],
[ 3., nan, 5., 1., 3., nan, 5., 1.],
[ 5., 8., 2., 9., 5., 8., 2., 9.],
[ 9., 3., 2., 5., 9., 3., 2., 5.],
[ 3., nan, 5., 1., 3., nan, 5., 1.],
[ 5., 8., 2., 9., 5., 8., 2., 9.],
[ 9., 3., 2., 5., 9., 3., 2., 5.],
[ 3., nan, 5., 1., 3., nan, 5., 1.],
[ 5., 8., 2., 9., 5., 8., 2., 9.],
[ 9., 3., 2., 5., 9., 3., 2., 5.],
[ 3., nan, 5., 1., 3., nan, 5., 1.],
[ 5., 8., 2., 9., 5., 8., 2., 9.]])
xa = np.arange(8)+2
ya = -np.arange(12)
plt.figure()
plt.contourf(xa,ya,a,100)
plt.show()
我会:
我想更容易和更快地插入这些空白......
最佳答案
Pandas 有一个很棒的插值界面,您可以在其中执行以下操作:
import pandas as pd
a_interp = pd.DataFrame(a).interpolate(method='linear', axis=0).values
plt.contourf(xa, ya, a_interp, 100)
plt.show()
关于python - 在不使用 scipy.interpolate.griddata 的情况下在 pyplot 中插入 NaN 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23874352/