您可以使用以下方式获取用于创建此图例的艺术家和标签:
h,l=ax.get_legend_handles_labels()。
< /代码>
因为您只需要颜色信息,而不是尺寸,所以解决方案只是使用前一半的艺术家重新创建图例。
ax.legend(h[:4],l[:4])
< /代码>
完整代码:
matplotlib.style.use('fivethirtyeight')
负荷数据
iris=sns.load_dataset('iris')
γ图
Fig,ax=plt.子批次(FigSize=(7,5))。
散射图(
“SePall长度”,
“SePall宽度”,
色相=“物种”,
size='花瓣宽度',
α=0.75,
图例=“简短”,
数据=虹膜,
斧子
)
#进行调整
ax.set xlabel('sepal length')
ax.set伊拉贝尔(sepal width)
ax.text(x=0.5,y=1.1,s='sepal length vs width',fontsize=16,weight='bold',ha='center',va='bottom',transform=ax.transaxs)
ax.text(x=0.5,y=1.05,s='每个点的大小对应于sepal宽度',fontsize=8,alpha=0.75,ha='中心',va='底部',transform=ax.transaxs)
h,l=ax.get_legend_handles_labels()。
ax.图例(h[:4],l[:4],bbox_to_anchor=(1.05,1),loc=2)
图紧密布局
显示()
< /代码>
![](“https://i.stack.imgur.com/cqpg5.png”alt=“enter)
您可以使用以下方法获取用于创建此图例的艺术家和标签:
h,l = ax.get_legend_handles_labels()
因为您只需要颜色信息,而不是尺寸,所以解决方案只是使用前一半的艺术家重新创建图例。
ax.legend(h[:4],l[:4])
完整代码:
matplotlib.style.use('fivethirtyeight')
# load data
iris = sns.load_dataset('iris')
# plot
fig, ax = plt.subplots(figsize=(7,5))
sns.scatterplot(
'sepal_length',
'sepal_width',
hue='species',
size='petal_width',
alpha=0.75,
legend='brief',
data=iris,
ax=ax
)
# make adjustments
ax.set_xlabel('Sepal Length')
ax.set_ylabel('Sepal Width')
ax.text(x=0.5, y=1.1, s='Sepal Length vs Width', fontsize=16, weight='bold', ha='center', va='bottom', transform=ax.transAxes)
ax.text(x=0.5, y=1.05, s='The size of each point corresponds to sepal width', fontsize=8, alpha=0.75, ha='center', va='bottom', transform=ax.transAxes)
h,l = ax.get_legend_handles_labels()
ax.legend(h[:4],l[:4], bbox_to_anchor=(1.05, 1), loc=2)
fig.tight_layout()
plt.show()
![enter image description here](https://i.stack.imgur.com/cQpg5.png)