Я не уверен, что понимаю, что вы подразумеваете под "линейным графиком", https://en.wikipedia.org/wiki/Line_graph или https://en.wikipedia.org/wiki/Line_chart? Во втором случае это можно сделать, например, для функции синуса, с помощьюследующий упрощенный код.
import turtle as tr
import math as m
x0, y0 = -300, 275 # The point near the upper left corner of the Turtle screen - virtual origin of coordinates
Y0 = -y0 + 100 # The reference vertical coordinate for the second function
A0 = 100 # The amplitude of sinus function
f0 = 80 # 1/frequency (reverse frequency)
def draw1():
x1 = 0
y1 = A0 - A0 * m.sin(x1/f0)
tr.goto(x0 + x1, y0 - y1)
tr.down()
tr.dot(size = 1)
for x2 in range(abs(x0)*2):
y2 = A0 - A0 * m.sin(x1/f0)
tr.goto(x0 + x2, y0 - y2)
tr.dot(size = 1)
x1, y1 = x2, y2
def draw2(f0):
x1 = 0
y1 = Y0 + A0 * m.sin(x1/f0)
tr.goto(x0 + x1, y1)
tr.down()
tr.dot(size = 1)
for x2 in range(abs(x0)*2):
y2 = Y0 + A0 * m.sin(x1/f0)
tr.goto(x0 + x2, y2)
tr.dot(size = 1)
x1, y1 = x2, y2
tr.speed('fastest')
tr.up()
tr.goto(x0, y0)
tr.hideturtle()
tr.color('red')
draw1() # The pivot point - the virtual origin of coordinates (x0 and y0)
tr.up()
tr.goto(x0,y0)
tr.color('blue')
draw2(f0/2) # The pivot point - x0 and Y0
input() # waiting for the <Enter> press in the console window
«Весьма вероятно», это можно сделать еще проще (например, без переменных x2
и y2
, но я не уверен) - я выбрал этот методс рисунка на холсте Tkinter. И этот метод, вероятно, подходит для первого случая (с некоторой модификацией, конечно).