使用matplotlib查找图形的最低点

2024-04-18 20:06:45 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有两个数组,一个是图的斜率值范围,另一个是卡方值范围 将其绘制为图形将生成以下图像

plt.figure(figsize=(8,6))
plt.plot(maybe_slopes, chi2, c = 'grey')
plt.grid(True)

斜率与卡方误差

Slope vs Chi squared

我怎样才能找到对应于最小卡方的斜率,而不必探索整个参数网格?(因为在本例中,每个值有50个值,但如果我有100或1000个值,则需要筛选更多的数据) 对于本例,坡度接近-2 最低卡方误差约为20K 对不起,我是matplot的新手,是的,这是一个班级项目


Tags: 图像图形plot绘制plt数组误差figure
1条回答
网友
1楼 · 发布于 2024-04-18 20:06:45

让我们考虑把你的曲线存储在一个编号数组中。如果它们在列表中,可以使用all_chi2 = np.array(all_chi2)将它们转换为NumPy数组。现在你有了all_chi2数组,比如说m行和n列,其中m是chi向量中的点数,n是曲线数

因为all_chi2是一个二维数组,所以需要查找该矩阵(m_min, n_min)的最小值的坐标。这可以通过

import numpy as np

# first, find the index of maximum on the unraveled matrix
arg_min = np.argmin(all_chi2)

# then find back the 2d indexes
m_min, n_min = np.unravel_index(arg_min, allchi2.shape)

现在,您可以自动从图表中提取精确的值

相关问题 更多 >