Как построить на графике sin на максимуме и на минимуме

Как в python можно нарисовать синусоиду заходящую на вершину и на низ графика?

Кусочек кода.

x1=[7,-1,-6,1,10]
y1=[2,-2,7,12,22]

plt.plot(x1,y1,color='blue',linewidth=3)

x = np.arange(0,250,0.1)
y = np.sin( (x - 0.01))

plt.plot(x,y,color='red',linewidth=2)

И картинка для наглядности. пример

Есть идея, как измудриться: нарисовать поверх основного графика ещё один растянутый график, но с осями от -1 до 1.

Но может есть нормальный вариант на одном графике?

PS Речь не о том, чтобы посчитать синусойду правильно, так как меняется масштаб и синусойда опять не у краев. Речь о том, как спомощью стандартных инструментов растянуть синусойду до краев графика.


Ответы (1 шт):

Автор решения: passant
  1. "синусойду растянуть до границ холста" - это значит, что вам известны максимальное и минимальное значение вашей синусоиды. Ну например, 10. Тогда
import matplotlib.pyplot as plt
import numpy as np
х=np.linspace(0, 10, 2000)
lim=10
plt.ylim(-lim,lim)
plt.plot(х,lim*np.sin(х))

Имеем: введите сюда описание изображения

Аналогично, если график надо обрезать до граничных значений синусоиды, то

х=np.linspace(0, 10, 2000)
y=15*np.sin(х)
plt.ylim(y.min(),y.max())
plt.plot(х,y)

получаем: введите сюда описание изображения

→ Ссылка