如何解决如何在角图中以不同的方式格式化中值和误差?
我正在尝试使用 Python 中的 corner
包格式化角图。据我所知,有 title_fmt = *arg
命令,但是它给中位数和误差提供了相同的格式,这对于报告测量误差是不方便的。我需要用 2 个有效数字显示错误,然后在最后一个 sig.fig 处四舍五入中位数。其错误。这是我可以做什么的示例
import numpy as np
from matplotlib import pyplot as plt
import corner
np.random.seed(539)
# generate data
data = np.random.randn(5000,3)
data[:,0] = data[:,0]*20 + 150.75
data[:,1] = data[:,1] + 7.52
data[:,2] = data[:,2]*5 + 31.25
# make plot
labels = ['x','y','f']
fig=plt.figure(figsize=(7,7),dpi=100)
fig=corner.corner(
data,labels=labels,quantiles=(0.16,0.84),show_titles=True,title_fmt='g',use_math_text=True,fig=fig)
fig.show()
给出
我可以输入像 title_fmt = '.2g'
这样的行,它给出
如预期的那样显示较少的 sig.fig。对于错误,但后来我错过了 sig.fig。在中位数和一些错误不显示最后的 sig.fig。当它是 0 时。对于我的例子,我需要得到类似
x = 151 +20
-19
y = 7.5 +1.0
-1.0
f = 31.3 +5.2
-5.0
我已经阅读了 API,除了 title_fmt
选项之外,它没有提供更多解释。如果有人可以提供帮助,请提前致谢。
解决方法
title_fmt = '.2f'
应该用 2 个小数位格式化数字。
这里有所有可能的格式选项:
https://docs.python.org/3/reference/lexical_analysis.html#f-strings
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。