gpt4 book ai didi

python - 将标签添加到双变量 kdeplot

转载 作者:太空宇宙 更新时间:2023-11-04 00:18:35 26 4
gpt4 key购买 nike

我喜欢 multiple bivariate KDE plots 的 Seaborn 示例,但我希望在该示例中使用标准的 matplotlib 图例而不是自定义标签。

这是我尝试使用图例的示例:

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

cmaps = ['Reds', 'Blues', 'Greens', 'Greys']

np.random.seed(0)
for i, cmap in enumerate(cmaps):
offset = 3 * i
x = np.random.normal(offset, size=100)
y = np.random.normal(offset, size=100)
label = 'Offset {}'.format(offset)
sns.kdeplot(x, y, cmap=cmaps[i]+'_d', label=label)
plt.title('Normal distributions with offsets')
plt.legend(loc='upper left')
plt.show()

Plot with no legend

kdeplot() 的标签参数似乎适用于单变量 KDE 图,但不适用于双变量图。如何添加图例?

最佳答案

基于 this tutorial ,我了解到您可以将标签传递给 legend() 函数。

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

cmaps = ['Reds', 'Blues', 'Greens', 'Greys']

np.random.seed(0)
label_patches = []
for i, cmap in enumerate(cmaps):
offset = 3 * i
x = np.random.normal(offset, size=100)
y = np.random.normal(offset, size=100)
label = 'Offset {}'.format(offset)
sns.kdeplot(x, y, cmap=cmaps[i]+'_d')
label_patch = mpatches.Patch(
color=sns.color_palette(cmaps[i])[2],
label=label)
label_patches.append(label_patch)
plt.title('Normal distributions with offsets')
plt.legend(handles=label_patches, loc='upper left')
plt.show()

Plot with legend

关于python - 将标签添加到双变量 kdeplot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49991657/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com