此问题已在此处有答案:
How to edit a seaborn legend title and labels for figure-level functions(2个答案)
1年前关闭。
我正在试图找到指导如何控制和自定义传说在海上情节,但我找不到任何。
为了使问题更具体,我提供了一个可重复的示例:
surveys_by_year_sex_long
year sex wgt
0 2001 F 36.221914
1 2001 M 36.481844
2 2002 F 34.016799
3 2002 M 37.589905
%matplotlib inline
from matplotlib import *
from matplotlib import pyplot as plt
import seaborn as sn
sn.factorplot(x = "year", y = "wgt", data = surveys_by_year_sex_long, hue = "sex", kind = "bar", legend_out = True,
palette = sn.color_palette(palette = ["SteelBlue" , "Salmon"]), hue_order = ["M", "F"])
plt.xlabel('Year')
plt.ylabel('Weight')
plt.title('Average Weight by Year and Sex')
在这个例子中,我希望能够将M定义为男性,将F定义为女性,而不是将性别作为图例的标题。
你的建议将不胜感激。
2条答案
按热度按时间8aqjt8rx1#
首先,要访问seaborn创建的图例,需要通过seaborn调用来完成。
这个传说可以被操纵
结果并不完全令人满意,因为图例中的字符串比以前大,因此图例将与图重叠
因此还需要稍微调整图边距,
hsvhsicv2#
我总是发现改变标签在海运图一旦他们被创建是有点棘手。最简单的解决方案似乎是通过Map值和列名来更改输入数据本身。您可以按如下所示创建一个新的数据框,然后使用相同的plot命令。
希望这能满足你的需要。潜在的问题是,如果数据集很大,以这种方式创建一个全新的 Dataframe 会增加一些开销。