Puoi aprire il codice e modificarlo
HELP

...
Q0x=[];Q0y=[];Q1x=[];Q1y=[];Q2x=[];Q2y=[];Q3x=[];Q3y=[]; ...
O0x=[];O0y=[];O1x=[];O1y=[];O2x=[];O2y=[];O3x=[];O3y=[]; ...
L0x=[];L0y=[];L1x=[];L1y=[];L2x=[];L2y=[];L3x=[];L3y=[]; ...
C0=C1=C2=C3=C4=C5=C6=C7=C8=C9="blue" // colors of L0,..,L9

// L0..9 estremi dei segmenti da tracciare, Q0..Q9 / O0..O9 punti vuoti/pieni da tracciare
...
aX = -1; bX = 2; aY = -2.5; bY = 1/2
Dx = 1/2; Dy = 1/2

titolo = "sopra a y=x^2-2, sotto a y=x/2-1 e y=-1"
Cax="brown"; Cgr="grey"
quadro=1
...
// grafico (f blu, g verde, h rosso, k arancione)
function f(x) { y = x*x-2; return y }  
function g(x) { y = x/2-1; return y }
function h(x) { y = -1; return y }
function k(x) { y = 1/0; return y }

// punteggiatura della figura (puoi aumentare/diminuire il n. dei punti) con punti con x tra -1 e 2 e y tra -2.5 e 0.5
// punti in [A,B] con  random()*(B-A)+A (random: numero a caso in [0,1], B-A ampiezza intervallo, A estremo sinistro)
jP=-1
for(i=0; i < 5e3; i=i+1) {xP = Math.random()*3-1; yP = Math.random()*3-2.5;
if( f(xP) < g(xP) && f(xP) < h(xP) && f(xP) < yP && yP < g(xP) && yP < h(xP) ) {jP=jP+1; O1x[jP]=xP; O1y[jP]=yP } }
...
// puoi cambiare raggi (r) e colore (col) dei pallini Qn e On; valori standard:  rQ=2.6; colQ="black"; rO=2.6; colO="black" 
rQ=2.6; colQ="black"; rO=2.6; colO="black"
// prendo i pallini pieni (O invece che Q) e piccoli (raggio quasi 1/2), di colore marrone chiaro
rO=0.45; colO="chocolate"
...