【发布时间】:2020-03-04 18:33:54
【问题描述】:
我在尝试在散点图中创建颜色图时遇到了问题。这是我的代码的一部分:
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import gaussian_kde
f, ax = plt.subplots()
xy = np.vstack([x, y])
xy = xy[~np.isnan(xy)]
z = gaussian_kde(xy)(xy)
idx = z.argsort()
x, y, z = x[idx], y[idx], z[idx]
plt.scatter(x, y, c=z, cmap='Reds', alpha=0.5)
x 和 y 都是我的熊猫数据框中的列,并且它们都具有 NaN 值。我尝试通过执行~np.isnan(xy) 来取出所有NaN 值以仅获取实际值,因为它不允许我使用infs 或NaN,因为我相信gaussian_kde() 正在抛出该错误。此外,就NaN 值的位置而言,两列并不相互对齐,并且一列的NaN 值比另一列多。两者也具有相同数量的元素。当我运行我的代码时,它一直在运行,我必须停止它。任何想法可能有什么问题?
【问题讨论】:
-
发布您的示例时,请显示您正在导入的库。我们不知道
gaussian_kde来自哪里。 x 和 y 向量的典型大小是多少? -
@Liris 我继续更新以添加导入的包。 x 和 y 向量的大小约为 200k。
标签: python pandas matplotlib colormap