更改seaborn kdeplot的图像限制

时间:2014-12-08 16:50:12

标签: python matplotlib seaborn

当我使用shade参数设置为True制作seaborn.kdeplot时,背景为白色。如果在更宽的范围(此处为蓝线)上绘制了其他内容,则此背景不会扩展到整个图。如何让kdeplot“扩展”到整个情节?

(最终,让第一个kdeplot阴影变得透明也会成功)

示例:

import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt

plt.plot([-3, 3],[0,60])

points = np.random.multivariate_normal([0, 0], [[1, 2], [2, 20]], size=1000)
sns.kdeplot(points, shade=True)

plt.show()

Overplot of a blue line and a kdeplot of a set of points. Notice the change in background at y=20

2 个答案:

答案 0 :(得分:1)

有效:

import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt

points = np.random.multivariate_normal([0, 0], [[1, 2], [2, 20]], size=1000)

plt.plot([-3, 3],[0,60])

ax = sns.kdeplot(points, shade=True)
ax.collections[0].set_alpha(0)

plt.show()

enter image description here

答案 1 :(得分:-1)

您可以使用set_style参数

来完成此操作
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt

plt.plot([-3, 3],[0,60])

points = np.random.multivariate_normal([0, 0], [[1, 2], [2, 20]], size=1000)
sns.kdeplot(points)
sns.set_style("white") # HERE WE SET THE BACKGROUND TO BE WHITE

plt.show()

上面的代码会生成如下图:

enter image description here