我正在绘制相同类型的信息,但对于不同的国家/地区,使用matplotlib的多个子图.也就是说,我在3x3网格上有9个图,所有线都相同(当然,每行不同的值).
但是,我还没想出如何在图上只放一个图例(因为所有9个子图都有相同的线).
我怎么做?
我正在尝试生成一个包含 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)
Run Code Online (Sandbox Code Playgroud)
我想为每个子图中的图例条目定义字符串。作为示例,我对第一个子图使用以下代码:
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.')
Run Code Online (Sandbox Code Playgroud)
图例未正确显示(图例条目未绘制,图例标题是色调变量的名称(“statind”)。请注意,我已成功对其他图形使用相同的代码,其中我使用 Seaborn relplots 而不是 histplots 。