当我使用%matplotlib笔记本时,不会显示图例。
%matplotlib notebook
...
fg = seaborn.FacetGrid(data=df, hue='Scenario', hue_order=df.Scenario.unique().tolist(), aspect=1.61)
fg.map(plt.scatter, 'Yaw', 'posNoseEye').add_legend()
当我使用%matplotlib内联时,正确显示了图例。
%matplotlib inline
...
fg = seaborn.FacetGrid(data=df, hue='Scenario', hue_order=df.Scenario.unique().tolist(), aspect=1.61)
fg.map(plt.scatter, 'Yaw', 'posNoseEye').add_legend()
如何在%matplotlib笔记本中管理它? 感谢
由于我无法在评论中添加图片,因此我尝试了下面的答案,但仍然无效。 我有matplotlib和seaborn的最后一个版本。
答案 0 :(得分:2)
该图没有任何传说空间。有几种方法可以解决这个问题,如this answer所示。
一个选项是手动为图例创建一些空间,例如
%matplotlib notebook
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import seaborn as sns
df = pd.DataFrame(np.random.rand(20,2), columns=['Yaw', 'posNoseEye'])
df["Scenario"] = np.random.choice(["Scenario A","Scenario B"], size=20)
fg = sns.FacetGrid(data=df, hue='Scenario', hue_order=df.Scenario.unique().tolist(), aspect=1.61)
fg.map(plt.scatter, 'Yaw', 'posNoseEye')
fg.fig.legend()
fg.fig.subplots_adjust(right=0.7)
plt.show()