[英]multiple seaborn kdeplot plots with the same color bar
我正在嘗試在同一張圖像上繪制兩個kde分布,我想知道是否有一種方法可以對兩個分布使用相同的“顏色范圍”。
如果運行以下代碼,您會看到最暗的紅色和最暗的綠色對應於兩個不同的濃度(0.04和0.15),而我希望兩個色標都具有相同的范圍,因此您可以輕松比較這兩個分布(即我想讓最暗的紅色和最暗的綠色對應相同的密度值)。
謝謝
import numpy as np
import seaborn as sns
import pandas
import matplotlib.pyplot as plt
from matplotlib import rcParams
np.random.seed(10)
sns.set(color_codes=True)
rcParams['font.family'] = 'sans-serif'
rcParams['font.sans-serif'] = ['Arial']
plt.ioff()
f, ax = plt.subplots(figsize=(15, 15))
ax.tick_params(axis='both', which='major', labelsize=22)
mean, cov = [0, 2], [(2, 1), (.5, 1)]
x1, y1 = np.random.multivariate_normal(mean, cov, size=50).T
mean, cov = [5, 7], [(3, 2), (7, 1)]
x2, y2 = np.random.multivariate_normal(mean, cov, size=50).T
ax = sns.kdeplot(x1, y1, cmap="Reds", shade=True, shade_lowest=False, alpha=0.66, legend=False, cbar=True)
ax = sns.kdeplot(x2, y2, cmap="Greens", shade=True, shade_lowest=False, alpha=0.66, legend=False, cbar=True)
plt.xlabel("foo", fontsize=22)
plt.ylabel("bar", fontsize=22)
plt.savefig("foo_vs_bar.png")
可能為時已晚,但我遇到了同樣的問題。 您可以在kwarg中指定級別,例如
kwargs = {'levels': np.arange(0, 0.15, 0.01)}
並傳遞到sns.kdeplot():
ax = sns.kdeplot(x1, y1, cmap="Reds", shade=True, shade_lowest=False,
alpha=0.66, legend=False, cbar=True, **kwargs)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.