2024-05-23 15:09:06 发布
网友
我有以下代码:
g = sns.FacetGrid(df, row="Type", hue="Name", size=3, aspect=3) g = g.map(sns.plt.plot, "Volume", "Index") g.add_legend() sns.plt.show()
结果如下:
我怎样才能把这个传说移到情节之外呢?
可以通过调整绘图大小来执行此操作:
g = sns.FacetGrid(df, row="Type", hue="Name", size=3, aspect=3) g = g.map(sns.plt.plot, "Volume", "Index") for ax in g.axes.flat: box = ax.get_position() ax.set_position([box.x0,box.y0,box.width*0.9,box.height]) sns.plt.legend(loc='center left',bbox_to_anchor=(1,0.5)) sns.plt.show()
示例:
import seaborn as sns tips = sns.load_dataset('tips') # more informative values condition = tips['smoker'] == 'Yes' tips['smoking_status'] = '' tips.loc[condition,'smoking_status'] = 'Smoker' tips.loc[~condition,'smoking_status'] = 'Non-Smoker' g = sns.FacetGrid(tips,row='sex',hue='smoking_status',size=3,aspect=3) g = g.map(plt.scatter,'total_bill','tip') for ax in g.axes.flat: box = ax.get_position() ax.set_position([box.x0,box.y0,box.width*0.85,box.height]) sns.plt.legend(loc='upper left',bbox_to_anchor=(1,0.5)) sns.plt.show()
结果:
根据mwaskom上面的评论,这是OSX中的一个错误。事实上,切换到另一个后端解决了这个问题。
例如,我把这个放到我的matplotlibrc:
matplotlibrc
backend : TkAgg # use Tk with antigrain (agg) rendering
可以通过调整绘图大小来执行此操作:
示例:
结果:
根据mwaskom上面的评论,这是OSX中的一个错误。事实上,切换到另一个后端解决了这个问题。
例如,我把这个放到我的
matplotlibrc
:相关问题 更多 >
编程相关推荐