首页 > 解决方案 > 如何使用 Matplotlib 制作具有光晕效果的散点图?

问题描述

我想绘制一个高斯随机变量的潜在空间,x_i~Gaussian(u_i, simga_i) 我想在这个图中表示不确定性, 某人的阴谋 但我找不到任何关于如何使用 Matplotlib 执行此操作的 API!

标签: pythonmatplotlibplot

解决方案


也许您可以尝试类似下面的示例?(从这里修改)

import numpy as np
import matplotlib.pyplot as plt

def normal_pdf(x, mean, var):
    return np.exp(-(x - mean)**2 / (2*var))

xmin, xmax, ymin, ymax = (0, 100, 0, 100)

N = 1000
xx = np.linspace(xmin, xmax, N)
yy = np.linspace(ymin, ymax, N)

x = normal_pdf(xx, 50, 75)
y = normal_pdf(yy, 50, 75)

weights = np.array(np.meshgrid(x, y)).prod(0)

plt.imshow(weights, extent=(xmin, xmax, ymin, ymax), cmap=plt.cm.Blues, alpha=0.5)
plt.plot(50, 50, "bo")
plt.tight_layout()
plt.show()

结果:

在此处输入图像描述


推荐阅读