如何更改图例中的气泡颜色并在图例布局中的这些气泡之间创建更多空间?

问题描述 投票:0回答:1

我正在尝试创建气泡图,但我无法更改图例中气泡的颜色。我怎样才能像我在情节中那样将其更改为绿色?

import pandas as pd
import seaborn as sns

df = pd.DataFrame({"a":[0.1, 100, 10, 25, 150],
                  "x":[1, 1.5, 1.3, 2, 1.1],
                  "y":[0.1, 0.2, 0.13, 0.15, 0.16]})

plt.figure()
sns.scatterplot(x="x", y="y", size="a", color="green", sizes=(10, 1000), data=df, alpha=0.5)
plt.legend(bbox_to_anchor=(1.05, 1), loc=2)

另一件事是图例中的这些气泡相互重叠。有没有办法在它们之间创建空间,以更清晰的方式显示它们的大小?

python pandas seaborn scatter-plot
1个回答
0
投票

有同样的问题,但我没有使用 Seaborn,所以设置

hue
对我来说不起作用。相反,我发现您可以手动更改图例中每个句柄或文本的颜色(以及其他属性,如大小),如下所示:

leg = plt.legend()
# Set first handle (bubble for ex) to a color and size
leg.legendHandles[0].set_color('green')
leg.legendHandles[0].set_sizes([80])

# Set all texts in legend to a color
for text in leg.texts:
    text.set_color('green')

从 Matplotlib GitHub 中的这个问题得到这个想法。

© www.soinside.com 2019 - 2024. All rights reserved.