[英]Seaborn does not show legend with %matplotlib notebook
当我使用%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的最新版本。
该图没有用于图例的空间。 如本答案所示,有几种方法可以解决此问题 。
一个选项是手动为图例创建一些空间,例如
%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()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.