簡體   English   中英

使用 seaborn 時,分類數據不適合來自 dataframe 的 plot 圖例

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM