【问题标题】:Fill density plots with color in python在python中用颜色填充密度图
【发布时间】:2017-07-20 13:05:25
【问题描述】:

我有两个密度图,一个在另一个之上。如何用 2 种不同颜色填充曲线下的区域并添加一些透明度,以便重叠区域明显。

import numpy as np
import pandas as pd 
import matplotlib.pyplot as plt
import sys 
import seaborn as sns

x=[1,1,1,1,1,1,1,0,0,0,0,0,0,0]
y=[1,1,1,0,2,0,0,0,1,1,0,1,0,1]
sns.distplot(x, hist=False,color="green")
sns.distplot(y, hist=False,color="blue")

【问题讨论】:

    标签: python matplotlib plot density-plot


    【解决方案1】:

    你试过sns.kdeplot(x, hist=False, color="green", shade=True)吗? 显然他们创建了相同的曲线。

    据我所知,默认情况下它是透明的,应该可以满足您的要求。

    import matplotlib.pyplot as plt
    import seaborn as sns
    
    x=[1,1,1,1,1,1,1,0,0,0,0,0,0,0]
    y=[1,1,1,0,2,0,0,0,1,1,0,1,0,1]
    sns.kdeplot(x, color="green", shade=True)
    sns.kdeplot(y, color="blue", shade=True)
    plt.show()
    

    seaborn documentation

    这是结果图:

    【讨论】:

    • distplot 中没有 shade 参数
    • "我们可以看到,如果我们在seaborn中使用kdeplot()函数,我们得到的曲线是一样的。这个函数是distplot()使用的,但是它提供了一个更直接的接口当您只需要密度估计时,更容易访问其他选项:” - 来自上面的 Seaborn 文档链接。基本上,使用kdeplot() 看看是否得到相同的曲线。
    • 我编辑了答案,以便有代码格式。
    • @Eqomatic 看起来您必须将 hist=False 替换为 shade=True 以获取 kdeplot 方法的答案。
    • 已更改答案以反映这些差异,谢谢!
    猜你喜欢
    • 2014-07-09
    • 1970-01-01
    • 2016-09-01
    • 2021-06-23
    • 1970-01-01
    • 2023-02-20
    • 2010-10-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多