【发布时间】:2025-12-04 03:50:01
【问题描述】:
我正在尝试生成一个包含 4 个子图的图形,每个子图都是 Seaborn 直方图。图形定义行是:
fig,axes=plt.subplots(2,2,figsize=(6.3,7),sharex=True,sharey=True)
(ax1,ax2),(ax3,ax4)=axes
fig.subplots_adjust(wspace=0.1,hspace=0.2)
我想为每个子图中的图例条目定义字符串。例如,我对第一个子图使用以下代码:
sp1=sns.histplot(df_dn,x="ktau",hue="statind",element="step", stat="density",common_norm=True,fill=False,palette=colvec,ax=ax1)
ax1.set_title(r'$d_n$')
ax1.set_xlabel(r'max($F_{a,max}$)')
ax1.set_ylabel(r'$\tau_{ken}$')
legend_labels,_=ax1.get_legend_handles_labels()
ax1.legend(legend_labels,['dep-','ind-','ind+','dep+'],title='Stat.ind.')
图例显示不正确(图例条目未绘制,图例标题是色调变量的名称(“statind”)。请注意,我已成功将相同的代码用于使用 Seaborn relplots 的其他图形而不是直方图。
【问题讨论】:
标签: python matplotlib seaborn legend