【发布时间】:2020-10-24 13:20:03
【问题描述】:
我正在尝试更改使用 Seaborn 创建的情节传说中的垃圾箱。数据从 0 到 100,但 Seaborn 的垃圾箱从 1 到 120 和 0 到 80。我尝试使用 hue_norm 和 size_norm,但无济于事。
请看下面的代码和附图:
import matplotlib.pyplot as plt
import seaborn as sns
from import_portfolio import df, portfolio
import numpy as np
from adjustText import adjust_text
df_factor = df[df.columns[df.columns.str.contains('Factor Percentile')]]
columns = []
for column in df_factor.columns:
split = str.split(column, sep=' ')
fac = split[split.index('Factor') - 1]
columns.append(fac)
df_factor.columns = columns
df_factor['Symbol'] = df['Symbol'].copy()
df_factor = df_factor.replace(' ', np.NaN)
plt.figure(figsize=(13,7))
ax = sns.scatterplot(data=df_factor.dropna(), x='Valuation', y='Quality', hue='Momentum', size='Growth', palette='RdYlGn', sizes=(20,150))
plt.xlim(0,100)
plt.ylim(0,100)
adjust_text(texts, arrowprops=dict(arrowstyle='-', color='k', lw=0.5))
plt.legend(bbox_to_anchor=(1.05,1), loc=2, borderaxespad=0.)
有人知道如何解决这个问题吗?
谢谢
【问题讨论】:
标签: python matplotlib seaborn legend