在 relplot 子图标题中格式化字符串
Formatting string in relplot subplot title
请注意这是我之前 post.
的编辑版本
我正在尝试格式化在 Seaborn 中使用 relplot 生成的子图的标题。我正在使用 set_titles 选项并包括 {col_name} 元素。我想在 {col_name} 之前加上来自格式化字符串数组 "plotvarnames"(例如,"I_{bs}=")的动态字符串,然后再放在 {col_name} 之前。以下代码行导致错误消息 "name 'col_name' is not defined":
plotvars=['nis','Ds','Ibs','kVssH','kVssL','kHL']
plotvarstrings=["r'$\nu_s$'","r'$D_s$'","r'$I_{bs}$'","r'$k_{vSSH}$'","r'$k_{vSSL}$'","r'$k_{HL}$'"]
for i,vname in enumerate (plotvars): g=sns.relplot(x="xvar",y="yvar",col=vname,hue="huevar",col_wrap=3,kind="scatter",palette=["b","r"],data=df,legend="full").set_titles(f"plotvarstrings[i]={col_name}")
如何获得组合的、格式化的字符串?
啊哈,我想通了:你需要转义括号。将 plotvarstrings
更改为以下内容(注意双 {{
和 }}
:
plotvarstrings=['r[$\nu_s$]','r[$D_s$]','r'$I_{{bs}}$]','r[$k_{{vSSH}}$]',
'r[$k_{{vSSL}}$]','r[$k_{{HL}}$]']
那么你可以这样做:
.set_titles(plotvarstrings[i] + "={col_name}")
请注意这是我之前 post.
的编辑版本我正在尝试格式化在 Seaborn 中使用 relplot 生成的子图的标题。我正在使用 set_titles 选项并包括 {col_name} 元素。我想在 {col_name} 之前加上来自格式化字符串数组 "plotvarnames"(例如,"I_{bs}=")的动态字符串,然后再放在 {col_name} 之前。以下代码行导致错误消息 "name 'col_name' is not defined":
plotvars=['nis','Ds','Ibs','kVssH','kVssL','kHL']
plotvarstrings=["r'$\nu_s$'","r'$D_s$'","r'$I_{bs}$'","r'$k_{vSSH}$'","r'$k_{vSSL}$'","r'$k_{HL}$'"]
for i,vname in enumerate (plotvars): g=sns.relplot(x="xvar",y="yvar",col=vname,hue="huevar",col_wrap=3,kind="scatter",palette=["b","r"],data=df,legend="full").set_titles(f"plotvarstrings[i]={col_name}")
如何获得组合的、格式化的字符串?
啊哈,我想通了:你需要转义括号。将 plotvarstrings
更改为以下内容(注意双 {{
和 }}
:
plotvarstrings=['r[$\nu_s$]','r[$D_s$]','r'$I_{{bs}}$]','r[$k_{{vSSH}}$]',
'r[$k_{{vSSL}}$]','r[$k_{{HL}}$]']
那么你可以这样做:
.set_titles(plotvarstrings[i] + "={col_name}")