代码之家  ›  专栏  ›  技术社区  ›  Eruditio

直方图轴散点图中的颜色密度

  •  0
  • Eruditio  · 技术社区  · 6 年前

    我有两个单独的绘图功能,我想合并。

    第一种是基于密度添加颜色。第二种方法是跨越散点图及其各自的边缘(我更喜欢左下方而不是右上方,但我自己可能会得到)

    我在尝试将z=c选项添加到组合散点图时出错。

    from scipy.stats import gaussian_kde
    import numpy as np
    import matplotlib.pyplot as plt
    
    x = np.random.normal(0,1,500).reshape(-1)
    y = x + 0.3*np.random.normal(0,1,500).reshape(-1)
    
    
    xy = np.vstack([x,y])
    z = gaussian_kde(xy)(xy)
    
    
    plt.scatter(x,y,c=z)
    plt.show()
    
    
    
    scatter_axes = plt.subplot2grid((3, 3), (1, 0), rowspan=2, colspan=2)
    x_hist_axes = plt.subplot2grid((3, 3), (0, 0), colspan=2,
                               sharex=scatter_axes)
    y_hist_axes = plt.subplot2grid((3, 3), (1, 2), rowspan=2,
                               sharey=scatter_axes)
    
    nbins = 30
    scatter_axes.plot(x, y, '.')
    x_hist_axes.hist(x, nbins)
    y_hist_axes.hist(y,nbins, orientation='horizontal')
    plt.show()
    

    如何在子批次中获取密度颜色?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Jan K    6 年前

    您需要使用散点法,而不是绘图法。

    scatter_axes.scatter(x, y, c=z)