Plot | Science @ Science @ MentDB Weak

Plot
The charts are shown in the Plot tab of the output of the editor (zoom with the mouse, HOLD to draw several charts on the same axes, plot add).

• Charts for the editor: the result is drawn in the Plot tab of the output (zoom with the mouse, right click to save as PNG).
• In the CALC tab, the PLOT button draws the current line as a function of x.
• Several curves on the same chart: several functions in 'plot function', several series in 'plot chart', 'plot add' or the HOLD button of the Plot tab (overlay).
• Outside of the editor, the result is a JSON description of the chart (prefix j23i88m90m76i39t04r09y35p14a96y09e57t50).

plot function <expressions> <variable> <a> <b>


Description

Draw one or several functions of one variable on [a, b] (1000 points), like a graphing calculator.
- the expressions use the syntax of 'math eval'; the session variables are written [k] and the angle unit is [_angle], as in 'math calc'
- several functions: a JSON array of expressions
- around a pole (1/x, tan(x)...) the y axis is limited to the useful part and the curve is cut

Parameters

expressions: An expression, or a JSON array of expressions - String - required
variable: The name of the variable, ex: x - String - required
a: The first value of the variable - Number - required
b: The last value of the variable - Number - required

Examples (6)
admin
plot function "[\"sin(x)/x\", \"cos(x)\"]" "x" -10 10
mentdb
(chart, displayed in the Plot tab of the editor)
One function
admin
plot function "exp(-x/2)*cos(3*x)" "x" 0 10
mentdb
(chart 'y = exp(-x/2)*cos(3*x)', displayed in the Plot tab of the editor)
A special function
admin
plot function "[\"bessel_j(0, x)\", \"bessel_j(1, x)\", \"bessel_j(2, x)\"]" "x" 0 20
mentdb
(chart, displayed in the Plot tab of the editor)
One function
admin
plot function "x^3-3*x" "x" -2.5 2.5
mentdb
(chart 'y = x^3-3*x', displayed in the Plot tab of the editor)
Function with a session variable
admin
-> "[w]" 2; plot function "sin([w]*x)" "x" 0 6.283185307179586
mentdb
(chart 'y = sin([w]*x)', displayed in the Plot tab of the editor)
Normal density
admin
plot function "exp(-x^2/2)/sqrt(2*pi)" "x" -4 4
mentdb
(chart 'y = exp(-x^2/2)/sqrt(2*pi)', displayed in the Plot tab of the editor)

plot xy <json_x> <json_y>


Description

Draw a curve through the points (x, y), in the order of the values.

Parameters

json_x: The x values - String - required
json_y: The y values - String - required

Examples (3)
admin
plot xy "[0, 1, 2, 3, 4]" "[0, 1, 4, 9, 16]"
mentdb
(chart, displayed in the Plot tab of the editor)
Line through measures
admin
plot xy "[0, 10, 20, 30, 40]" "[20.1, 35.2, 48.9, 61.0, 70.3]"
mentdb
(chart, displayed in the Plot tab of the editor)
Parabola
admin
plot xy "[0, 0.5, 1, 1.5, 2]" "[0, 0.25, 1, 2.25, 4]"
mentdb
(chart, displayed in the Plot tab of the editor)

plot points <json_x> <json_y>


Description

Draw a cloud of points (x, y).

Parameters

json_x: The x values - String - required
json_y: The y values - String - required

Examples (3)
admin
plot points "[1, 2, 3, 4, 5]" "[2.1, 3.9, 6.2, 7.8, 10.1]"
mentdb
(chart, displayed in the Plot tab of the editor)
Measurements
admin
plot points "[0, 1, 2, 3, 4, 5]" "[0.1, 1.9, 4.2, 5.8, 8.1, 9.9]"
mentdb
(chart, displayed in the Plot tab of the editor)
Random points (the result changes each time)
admin
plot points (stat dist_random "uniform" "[0, 1]" 50) (stat dist_random "uniform" "[0, 1]" 50)
mentdb
(chart, displayed in the Plot tab of the editor)

plot signal <json_y>


Description

Draw a signal (x = index of the value).

Parameters

json_y: The signal - String - required

Examples (2)
admin
plot signal "[0, 0.8, 1, 0.3, -0.5, -1, -0.6, 0.2]"
mentdb
(chart, displayed in the Plot tab of the editor)
A filtered signal
admin
plot signal (dsp moving_average "[1, 3, 2, 5, 4, 6, 5, 8, 7, 9]" 3)
mentdb
(chart, displayed in the Plot tab of the editor)

plot signal <json_y> <fs>


Description

Draw a signal sampled at fs Hz (x = time in seconds).

Parameters

json_y: The signal - String - required
fs: The sampling frequency (Hz) - Number - required

Examples (2)
admin
plot signal "[0, 0.8, 1, 0.3, -0.5, -1, -0.6, 0.2]" 8
mentdb
(chart, displayed in the Plot tab of the editor)
Signal sampled at 10 Hz (time in s)
admin
plot signal "[0, 0.951, 0.588, -0.588, -0.951, 0, 0.951, 0.588, -0.588, -0.951]" 10
mentdb
(chart, displayed in the Plot tab of the editor)

plot spectrum <json_y> <fs>


Description

Draw the amplitude spectrum of a signal (see 'dsp spectrum'): a sine of amplitude A at the frequency f gives a peak of height A at f.

Parameters

json_y: The signal - String - required
fs: The sampling frequency (Hz) - Number - required

Examples (2)
admin
plot spectrum "[0, 0.8, 1, 0.3, -0.5, -1, -0.6, 0.2]" 8
mentdb
(chart 'Amplitude spectrum', displayed in the Plot tab of the editor)
Spectrum of a sine of 1 Hz sampled at 10 Hz
admin
plot spectrum "[0, 0.951, 0.588, -0.588, -0.951, 0, 0.951, 0.588, -0.588, -0.951]" 10
mentdb
(chart 'Amplitude spectrum', displayed in the Plot tab of the editor)

plot histogram <json_array> <nb_classes>


Description

Draw the histogram of the values (classes of equal width, as 'stat histogram').

Parameters

json_array: The values - String - required
nb_classes: The number of classes (1 to 10000) - Number - required

Examples (3)
admin
plot histogram (stat dist_random "normal" "[10, 2]" 1000) 25
mentdb
(chart 'Histogram (1000 values)', displayed in the Plot tab of the editor)
Measurements in 5 classes
admin
plot histogram "[12.1, 11.4, 13.2, 10.9, 12.8, 11.7, 12.5, 13.0, 12.2, 11.9]" 5
mentdb
(chart 'Histogram (10 values)', displayed in the Plot tab of the editor)
Histogram of uniform values (the result changes each time)
admin
plot histogram (stat dist_random "uniform" "[0, 10]" 500) 10
mentdb
(chart 'Histogram (500 values)', displayed in the Plot tab of the editor)

plot fit <json_x> <json_y> <model> <variable>


Description

Draw the points and a fitted model: the model is an expression, or directly the result of 'stat fit_model' or 'stat fit' (its field 'expression').

Parameters

json_x: The x values - String - required
json_y: The y values - String - required
model: An expression, or the result of 'stat fit_model' - String - required
variable: The name of the variable of the model, ex: x - String - required

Examples (3)
admin
-> "[f]" (stat fit_model "a*exp(-x/tau)" "x" "[0, 1, 2, 3, 4]" "[10.2, 6.1, 3.6, 2.3, 1.3]" "{\"a\": 10, \"tau\": 2}");
plot fit "[0, 1, 2, 3, 4]" "[10.2, 6.1, 3.6, 2.3, 1.3]" [f] "x"
mentdb
(chart 'Fit', displayed in the Plot tab of the editor)
Linear fit of measures
admin
plot fit "[1, 2, 3, 4, 5]" "[2.1, 3.9, 6.2, 7.8, 10.1]" (stat fit "[1, 2, 3, 4, 5]" "[2.1, 3.9, 6.2, 7.8, 10.1]" "linear") "x"
mentdb
(chart 'Fit', displayed in the Plot tab of the editor)
A model written as an expression
admin
plot fit "[0, 1, 2, 3, 4]" "[10.2, 6.1, 3.6, 2.3, 1.3]" "10*exp(-x/2)" "x"
mentdb
(chart 'Fit', displayed in the Plot tab of the editor)

plot add <plot_result>


Description

Add a chart to the chart of the Plot tab instead of replacing it (overlay): the parameter is the result of any plot command. Ex: draw measures, then add a theoretical curve.
The HOLD button of the Plot tab does the same for all the next charts.

Parameters

plot_result: The result of a plot command - String - required

Examples (2)
admin
plot points "[0, 1, 2, 3]" "[0.1, 0.9, 4.2, 8.8]";
plot add (plot function "x^2" "x" 0 3)
mentdb
(chart 'y = x^2', displayed in the Plot tab of the editor)
Two functions on the same chart
admin
plot function "sin(x)" "x" 0 6.283185307179586; plot add (plot function "cos(x)" "x" 0 6.283185307179586)
mentdb
(chart 'y = cos(x)', displayed in the Plot tab of the editor)

plot chart <json_chart>


Description

Draw a chart described in JSON: {"title", "x_label", "y_label", "log_x", "log_y", "series": [{"name", "type": "line" | "points" | "bars", "x": [...], "y": [...]}]}.
'x' is optional (0, 1, 2... by default); a null in 'y' cuts the line. At most 50 series of 100000 points.

Parameters

json_chart: The chart (JSON object) - String - required

Examples (4)
admin
plot chart "{\"title\": \"Two series\", \"series\": [{\"name\": \"a\", \"y\": [1, 3, 2, 4]}, {\"name\": \"b\", \"type\": \"points\", \"y\": [2, 2, 3, 3]}]}"
mentdb
(chart 'Two series', displayed in the Plot tab of the editor)
Logarithmic y axis with labels
admin
plot chart "{\"title\": \"Decay\", \"x_label\": \"t (s)\", \"y_label\": \"N\", \"log_y\": true, \"series\": [{\"name\": \"N\", \"x\": [0, 1, 2, 3, 4], \"y\": [1000, 368, 135, 50, 18]}]}"
mentdb
(chart 'Decay', displayed in the Plot tab of the editor)
Bars
admin
plot chart "{\"title\": \"Sales\", \"series\": [{\"name\": \"2025\", \"type\": \"bars\", \"y\": [12, 15, 9, 20]}]}"
mentdb
(chart 'Sales', displayed in the Plot tab of the editor)
A null cuts the line
admin
plot chart "{\"series\": [{\"name\": \"sensor\", \"y\": [1, 2, null, 4, 5]}]}"
mentdb
(chart, displayed in the Plot tab of the editor)

plot ode <result>


Description

Draw the result of 'num ode' (with a JSON object of equations): each variable as a function of t; the event is shown as a point

Parameters

result: The result of num ode - String - required

Examples (3)
admin
plot ode (num ode "{\"x\": \"v\", \"v\": \"-x\"}" "{\"x\": 1, \"v\": 0}" 0 10)
mentdb
(chart, displayed in the Plot tab of the editor)
Lotka-Volterra predator-prey
admin
plot ode (num ode "{\"prey\": \"1.1*prey - 0.4*prey*pred\", \"pred\": \"0.1*prey*pred - 0.4*pred\"}" "{\"prey\": 10, \"pred\": 10}" 0 50 "{\"points\": 1000}")
mentdb
(chart, displayed in the Plot tab of the editor)
Logistic growth
admin
plot ode (num ode "{\"N\": \"0.8*N*(1-N/100)\"}" "{\"N\": 5}" 0 15 "{\"points\": 200}")
mentdb
(chart, displayed in the Plot tab of the editor)

plot ode <result> <x> <y>


Description

Draw a variable of the result of 'num ode' as a function of another one: phase portrait, trajectory (y as a function of x)

Parameters

result: The result of num ode - String - required
x: The variable on the x axis - String - required
y: The variable on the y axis - String - required

Examples (4)
admin
plot ode (num ode "{\"x\": \"v\", \"v\": \"-x\"}" "{\"x\": 1, \"v\": 0}" 0 10) "x" "v"
mentdb
(chart, displayed in the Plot tab of the editor)
Phase portrait of the Van der Pol oscillator
admin
plot ode (num ode "{\"x\": \"v\", \"v\": \"2*(1-x^2)*v - x\"}" "{\"x\": 0.5, \"v\": 0}" 0 30 "{\"points\": 2000}") "x" "v"
mentdb
(chart, displayed in the Plot tab of the editor)
Trajectory of a projectile with air resistance
admin
plot ode (num ode "{\"x\": \"vx\", \"y\": \"vy\", \"vx\": \"-0.05*sqrt(vx^2+vy^2)*vx\", \"vy\": \"-_g0-0.05*sqrt(vx^2+vy^2)*vy\"}" "{\"x\": 0, \"y\": 0, \"vx\": 30, \"vy\": 30}" 0 10 "{\"points\": 400, \"event\": \"y\", \"direction\": -1}") "x" "y"
mentdb
(chart, displayed in the Plot tab of the editor)
Phase portrait of the predator-prey model
admin
plot ode (num ode "{\"prey\": \"1.1*prey - 0.4*prey*pred\", \"pred\": \"0.1*prey*pred - 0.4*pred\"}" "{\"prey\": 10, \"pred\": 10}" 0 50 "{\"points\": 1000}") "prey" "pred"
mentdb
(chart, displayed in the Plot tab of the editor)

plot interpolate <xs> <ys> <mode>


Description

Draw the points and the interpolating curve (mode: see 'num interpolate')

Parameters

xs: JSON array of x - String - required
ys: JSON array of y - String - required
mode: The mode of interpolation - String - required

Examples (4)
admin
plot interpolate "[0, 1, 2, 3, 4, 5]" "[0, 0.8, 0.9, 0.1, -0.8, -1]" "cubic"
mentdb
(chart, displayed in the Plot tab of the editor)
Pchip: no overshoot on monotone data
admin
plot interpolate "[0, 1, 2, 3, 4]" "[0, 0, 1, 1, 1]" "pchip"
mentdb
(chart, displayed in the Plot tab of the editor)
Natural spline
admin
plot interpolate "[0, 1, 2, 3, 4]" "[1, 3, 2, 4, 3]" "natural"
mentdb
(chart, displayed in the Plot tab of the editor)
Akima
admin
plot interpolate "[0, 1, 2, 3, 4, 5, 6]" "[0, 0, 0, 1, 0, 0, 0]" "akima"
mentdb
(chart, displayed in the Plot tab of the editor)
start: 2026-10-29end: 2026-10-29v_start: 421v_end: