当参数是传递给 format() 函数的变量时如何标记图的 y 轴?
How to label y axis of a plot when the argument is a variable passed to format() function?
每次在 运行我的代码中,我都会绘制许多图,这些图的 y 轴标签从一个图到下一个图略有不同。由于我的代码很长,我更喜欢使用单个 运行 生成所有图,以便先验地知道标签的相同部分。我正在尝试使用 python 中的 format()
函数为给定此已知值的每个图打印标签。由于我在轴的标签内使用了 Latex 符号,我不知道如何解决这个问题。
z_value = 0.
ax.set_ylabel(r'$\frac {dN_{{abs.}}} {d [\log(m_{{sub}})]} (m_{{sub}}, z={:.1f})$'.format(z_value))
错误:
ax.set_ylabel(r'$\frac {dN_{{abs.}}} {d [\log(m_{{sub}})]} (m_{{sub}},
z={:.1f})$'.format(z_value))
ValueError: unexpected '{' in field name
您需要将未用作格式指示符的每个 { 和 } 加倍。您还需要转义反斜杠:
>>> x=2.5
>>> print('Dies ist {{{}x eine Variable'.format(x))
Dies ist {2.5x eine Variable
>>> print('$\frac {{dN_{{abs.}}}} {{d [\log(m_{{sub}})]}} (m_{{{{sub}}}}, z={:.1f})$'.format(x))
$\frac {dN_{abs.}} {d [\log(m_{sub})]} (m_{{sub}}, z=2.5)$
每次在 运行我的代码中,我都会绘制许多图,这些图的 y 轴标签从一个图到下一个图略有不同。由于我的代码很长,我更喜欢使用单个 运行 生成所有图,以便先验地知道标签的相同部分。我正在尝试使用 python 中的 format()
函数为给定此已知值的每个图打印标签。由于我在轴的标签内使用了 Latex 符号,我不知道如何解决这个问题。
z_value = 0.
ax.set_ylabel(r'$\frac {dN_{{abs.}}} {d [\log(m_{{sub}})]} (m_{{sub}}, z={:.1f})$'.format(z_value))
错误:
ax.set_ylabel(r'$\frac {dN_{{abs.}}} {d [\log(m_{{sub}})]} (m_{{sub}}, z={:.1f})$'.format(z_value))
ValueError: unexpected '{' in field name
您需要将未用作格式指示符的每个 { 和 } 加倍。您还需要转义反斜杠:
>>> x=2.5
>>> print('Dies ist {{{}x eine Variable'.format(x))
Dies ist {2.5x eine Variable
>>> print('$\frac {{dN_{{abs.}}}} {{d [\log(m_{{sub}})]}} (m_{{{{sub}}}}, z={:.1f})$'.format(x))
$\frac {dN_{abs.}} {d [\log(m_{sub})]} (m_{{sub}}, z=2.5)$