为了账号安全,请及时绑定邮箱和手机立即绑定

使用更准确的 x 值数组在 matplotlib 中生成最佳拟合线?

使用更准确的 x 值数组在 matplotlib 中生成最佳拟合线?

人到中年有点甜 2021-08-11 19:49:47
我目前被困在一个问题上,我需要生成一条最佳拟合曲线,我需要以 10 为步长使用从 250 到 100 的更精确的 x 数组。到目前为止,这是我的代码。import numpy as npfrom numpy import polyfit, polyvalimport matplotlib.pyplot as pltx = [250,300,350,400,450,500,550,600,700,750,800,900,1000]x = np.array(x)y = [0.791, 0.846, 0.895, 0.939, 0.978, 1.014, 1.046, 1.075, 1.102, 1.148, 1.169, 1.204, 1.234]y= np.array(y)r = polyfit(x,y,3)fit = polyval(r, x)plt.plot(x, fit, 'b')plt.plot(x,y, color = 'r', marker = 'x')plt.show()
查看完整描述

3 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞

如果我理解正确,您正在尝试通过 c 的步骤创建从 a 到 b 的数字数组。

使用纯 python,您可以使用:

list(range(a, b, c)) #in your case list(range(250, 1000, 10))

或者,由于您使用的是 numpy,因此可以直接创建 numpy 数组:

np.arange(a, b, c)


查看完整回答
反对 回复 2021-08-11
?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

要生成 250-1000 之间的值,请使用 range(start, stop, step):


x = range(250,1001,10)

x = np.array(x)


查看完整回答
反对 回复 2021-08-11
?
九州编程

TA贡献1785条经验 获得超4个赞

要分步创建数组,您可以使用numpy.arange([start,] stop[, step]):


import numpy as np

x = np.arange(250,1000,10)


查看完整回答
反对 回复 2021-08-11
  • 3 回答
  • 0 关注
  • 137 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号