我正在尝试创建气泡图,但我无法更改图例中气泡的颜色。我怎样才能像我在情节中那样将其更改为绿色?
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)
另一件事是图例中的这些气泡相互重叠。有没有办法在它们之间创建空间,以更清晰的方式显示它们的大小?
有同样的问题,但我没有使用 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 中的这个问题得到这个想法。