[英]categorical data not fitting text into plot legend from dataframe when using seaborn
我將 pandas 與 numpy、matplotlib、海運和大量數據一起使用。 我正在使用以下代碼行繪制 dataframe 數據
####MINIMIZED CODE#####
importing numpy ect
df=pd.read_csv("csvfile")
df["movieTitle"]=pd.Categorical(df["movieTitle"] #done for "movieTitle"
df['releaseData']=pd.to_datetime(df["releaseData"]
df2=df.sort_values('inflationGross', ascending=True) ###which was disneyData2 in original code
df2=df=df2.head(100)
plot=rando=sns.lmplot(x='releaseDate', y='inflationGross', data=df2, fit_reg=False, hue='movieTitle', legend=True)
rando.set_xticklabels(rotation=90)
########ACTUAL CODE#########
rando=sns.lmplot(x='releaseDate', y='inflationGross', data=disneyData2, fit_reg=False, hue='movieTitle', legend=True)```
plot 本身很好,但是,一系列電影標題的分類數據並不完全符合傳奇。 有很多類別,我知道這不是一個好習慣,但我想找到一種方法來縮小文本大小,或者正確格式化圖例。 一切都已正確導入,並且我檢查了代碼中沒有錯誤。 我想繼續只使用 seaborne 來分析這個數據 NOT matplotlib 問題的圖片包含在下面。
預先感謝您的任何幫助!
粗略來說,可以刪除自動創建的圖例,取原圖例的文本新建一個圖例會設置為(我設置字體大小為8)。由於沒有數據呈現,我修改了上面的代碼官方網站用於說明目的。 如果提供數據,我們將從更多人那里得到一些很好的答案。
import seaborn as sns
import matplotlib.pyplot as plt
sns.set(color_codes=True)
tips = sns.load_dataset("tips")
g = sns.lmplot(x="total_bill", y="tip", hue='smoker', data=tips, legend=True, legend_out=True)
# Figure can hold multiple legends, so you can specify the first legend in the list
lg = g.fig.legends[0]
# Figure legend delete
g.fig.legends[0].remove()
# The list where the handle is kept
handles = lg.legendHandles
# Extracts only strings from the list of Text objects holding labels
labels = [t.get_text() for t in lg.texts]
print(handles)
print(labels)
g.fig.axes[0].legend(handles, labels, loc='center left', bbox_to_anchor=(1.0, 0.5), frameon=False, fontsize=8)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.