Code : Tout sélectionner
import graph ;
import math ;
import geometry ;
import x11colors ;
size(12cm,13cm) ;
real xmin = 0, xmax = 12 ;
real ymin = -1, ymax = 11 ;
real xStep = 1, xsubStep = xStep/2 ;
real yStep = 1, ysubStep = yStep/2 ;
real f(real x){return x-4*log(x)+1;}
// draw doit être appelé avant limits avec Crop.
path Cf = graph(f,xmin+0.01,xmax,n=250) ;
path Cfsous = graph(f,1,2,n=250)--(2,0)--(1,0)--cycle ;
pen sousOli = SandyBrown+opacity(0.5);
fill(Cfsous,sousOli) ;
draw(Cf,linewidth(1bp)) ;
// Si il y a un graphe de fonction, le mettre avant cette ligne
limits((xmin,ymin),(xmax,ymax),Crop) ;
pen styloOli = 1bp+gray+dotted ;
xaxis(BottomTop,p=bp+grey,//
ticks=Ticks("%",
extend=true,//
Step=xStep,//
step=xsubStep,//
pTick=styloOli,
ptick=styloOli,
Size=2mm,
size=0mm)) ;
yaxis(LeftRight,p=bp+grey,//
ticks=Ticks("%",
extend=true,
Step=yStep,
step=ysubStep,
pTick=styloOli,
ptick=styloOli));
xequals(L="",0,ymin,ymax,1bp+black,Arrow(TeXHead,1bp),ticks=Ticks(NoZero,Step=yStep,step=ysubStep)) ;
yequals(L="",0,xmin,xmax,1bp+black,Arrow(TeXHead,1bp),ticks=Ticks(NoZero,Step=xStep,step=xsubStep,Size=2mm,size=0mm));
label("$x$",(xmax,0),E,black) ;
label("$y$",(0,ymax),N,black) ;