Visualization
Algosim contains quite a few visualization functions that are used to draw plots and diagrams, such as

scatter plots (points, lines, regions),

bar charts,

histograms,

pie charts,

vector fields,

heatmaps, and

geometric objects.
Please see Visualization functions for detailed descriptions of all these functions.
This article, however, tries to give a conceptual overview of the facilities used to plot mathematical curves of various kinds from a mathematical point of view, not a technical point of view.
Drawing a curve expressed as an equation in Cartesian coordinates
Given an equation f(x, y) = 0
in the Cartesian coordinates x
and y
, the set { (x, y) ∈ ℝ² : f(x, y) = 0 }
can be drawn directly assuming the equation can be rewritten so that one of the variables is isolated on one side of the equation.
plot(y = sin(x))
plot(x = y^2 + 10⋅sin(y))
It’s also possible to plot regions defined similarly:
plot(cos(x) < y < 2⋅cos(x), −π, π)
Drawing a graph
Given a function f: D_f → ℝ, its graph is the set { (x, y) ∈ ℝ² : x ∈ D_f ∧ y = f(x) }.
Although the above method clearly can be used to draw graphs, it is also possible to use the graph
function:
plot(graph(arctan, −10, 10))
Drawing a parameterised curve
Given a function F: D_F → ℝ² where D_F ⊂ ℝ, the image of an interval [a, b] ⊂ D_F under F is a curve and can be plotted directly:
F ≔ t ↦ t⋅❨cos(t), sin(t)❩; plot([0, 6⋅π] @ F)
f ≔ t ↦ (e^sin(t) − 2⋅cos(4⋅t) + sin((2⋅t − π)/24)^5) ⋅ ❨cos(t), sin(t)❩; plot([0, 100, 0.01] @ f)