Вычисляются значения функции с определённым шагом, дальше в колекцию PathFigure добавляются объекты типа LineSegment (если не нужно интерполировать) или другой наследник класса PathSegment, соответствующий нужной интерполяции. Например, кривыми Безье третьего порядка — PolyBezierSegment.
Point указывает новую точку, до которой нужно продолжить график.
При расчётах нужно учитывать, что у Canvas начало координат находится в левом верхнем углу, а ось Y направлена вниз. Либо учитывать при расчётах следующей точки, либо использовать трансформации Canvas.
Должно получиться вроде этого
<Canvas>
<Path Stroke="Black" StrokeThickness="1">
<Path.Data>
<PathGeometry>
<PathFigure>
<LineSegment Point="100,100"/>
<LineSegment Point="150,120"/>
<PolyBezierSegment Points="170,120 190,100 200,160 220,140"/>
</PathFigure>
</PathGeometry>
</Path.Data>
</Path>
</Canvas>