python - 使用seaborn时,分类数据不适合文本从数据框中的图例
问题描述
我将 pandas 与 numpy、matplotlib、seaborne 和大量数据结合使用。我正在使用以下代码行绘制数据帧数据
####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)```
情节本身很好,但是,一系列电影标题的分类数据并不完全符合传奇。有很多类别,我知道这不是一个好习惯,但我想找到一种方法来缩小文本大小,或者正确格式化图例。一切都已正确导入,并且我检查了代码中没有错误。我想继续只使用 seaborne 来分析这个数据而不是 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)
推荐阅读
- javascript - 将“活动”类添加到与当前单击的侧边栏菜单链接相同的 href
- makefile - 如何在嵌套的 makefile 中覆盖 makefile
- r - 围绕一个值对相邻值进行子集
- c# - AutoCompleteTextView(只有创建视图层次结构的原始线程才能接触其视图。)
- ios - 以 Xamarin 表单(IOS 和 UWP)管理大量主数据
- python - AttributeError:模块“pyaudio”没有属性“__version__”
- javascript - Sequelize.js,如何插入具有一对多关系的模型
- linux - 可选从标准输入或文件读取的 bash 标志
- ios - 将约束设置为 inActive 会不断破坏它
- clojure - 如何在 HugSQL 结果中将返回的地图转换为 json csv