我的曲线如下:
曲线是使用以下代码生成的:
import matplotlib.pyplot as plt
import numpy as np
# normalize array
def min_max_scale_array(arr):
arr = np.array(arr)
return (arr - arr.min())/(arr.max()-arr.min())
x = np.linspace(-50,48,100)
y = x**2 + 2*x + 2
x = min_max_scale_array(x)
y = min_max_scale_array(y)
fig, ax = plt.subplots()
ax.plot(x, y)
如何通过仅移动左下角(或右下角)并保持两端相同来生成新曲线?谢谢!
编辑:任何曲线生成算法都值得赞赏,只要它有效!
最佳答案
一种方法是像以前一样定义x,y
,但应用移位。虚线显示您是否只是移动它。但现在在最顶部的 y
我们不想移动它,所以我们想将底部移动的版本 (y=0
) 加权 1
但在顶部 (y=1
) 为 0
,这样我们就可以得到渐进插值。我们可以通过将位移乘以(1-y)
来做到这一点:
a = 0.25 # how far to shift left
plt.plot(x, y, 'k')
plt.plot(x-a, y, 'k:')
plt.plot(x-a*(1-y), y, 'r')
plt.show()
关于python - 移动曲线的底部而不改变两端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72350079/