Zen*_*non 5 legend seaborn python-3.5
我正在制作一个很大的PairGrid图形,但无法将图例设置在图之外(右侧)。PairGrid似乎没有继承legend_out的选项FaceGrid。到目前为止,这是我的尝试,您可以看到图例与图形重叠。
from random import choice
from numpy import random
from matplotlib import pyplot as plt
import seaborn as sns
import pandas as pd
def my_kdeplot(dfx, dfy, *args, **kwargs):
ax = sns.kdeplot(dfx, dfy, alpha=0.7,
cmap=sns.light_palette(kwargs['color'], as_cmap=True))
names = [choice('ABCDE') for _ in range(1000)]
df = pd.DataFrame(list(zip(names, *[random.random(1000) for _ in range(5)])),
columns=['names','A','B','C','D','E'])
g = sns.PairGrid(df, hue='names')
g.map_lower(my_kdeplot)
g.map_upper(plt.scatter, alpha=0.7)
g.map_diag(plt.hist)
g = g.add_legend(fontsize=14)
sns.plt.savefig('fig.png')
Run Code Online (Sandbox Code Playgroud)
您可以使用以下命令调整图例的位置bbox_to_anchor=(horizontal, vertical):
g = g.add_legend(fontsize=14, bbox_to_anchor=(1.5,1))
Run Code Online (Sandbox Code Playgroud)
您需要稍微调整一下数字才能找到正确的图例位置。
| 归档时间: |
|
| 查看次数: |
2143 次 |
| 最近记录: |