Pour représenter la fonction f:(x,y)→ x ² -y², on peut saisir
f(x,y)=x**2-y**2
splot f(x,y)
Si on fait un clic droit sur la figure, on s'aperçoit qu'on peut manipuler la figure: la faire tourner , la voir par en dessous, du dessus etc.
Pour que la surface ne soit plus transparente et que les zones cachées n'apparaissent pas
set hidden 3d
replot
set format x " "
set format y " "
set format z " "
la figure ci contre est obtenue avec set pm3d
replot
Par défaut, l'intervalle des x et celui des y est divisé en 10. La surface est donc, vue du dessus composée de 100 carrés de couleurs.
Si on veut l'augmenter, il suffit de saisir
set isosamples 30,30 .
D'abord les x puis les y.
On a donc les carrés qui indiquent par leur couleur, leur hauteur approximative.
Pour représenter la fonction f définie sur [-2,5;2,5]X[-2,5;2,5] par f(x,y)=(x² +3y²)exp(1-(x²+y² ),on peut saisir:
f(x,y)=(x**2+3*y**2)*exp(1-(x**2+y**2))
set xrange [-2.5:2.5]
set yrange [-2.5:2.5]
set pm3d
set isosamples 30,30
set hidden3d
splot f(x,y)
Pour obtenir la figure ci-contre,j'ai saisi:
set contour both
set key left bottom
replotcontour both met des lignes de niveau sur la surface et sur le plan du bas.contour surface met des lignes de niveau seulement sur la surface.contour base met des lignes de niveau seulement sur le plan du bas.
set cntrparam levels discrete 2.5, 2.6
Pour obtenir la figure ci-contre, j'ai défini une nouvelle palette avec :
set palette defined (0 0 0 0,0.35 0 0.5 0.5,0.35 0.94 0.87 0.56, 1 0 0.5 0)
le premier chiffre est 0, il désigne la valeur de z minimale; il est suivi de 0 0 0 qui en mode rgb désigne la couleur noire.
le premier chiffre du deuxième groupe est 0.35 ; il désigne la valeur de z correspondant à 35% de l'échelle qui va du minimum au maximum.
Il est suivi de 0 0.5 0.5 qui correspont à une couleur bleu vert. Entre le noir et le bleu vert, il se crée un dégradé.
Pour faire une coupure nette on redéfinit une couleur sable à 35% et on la dégrade avec un vert associé à 100%.
On a rajouté les lignes de code suivantes :
f(x,y)=(x**2+3*y**2)*exp(1-(x**2+y**2))
set xrange [-2.5:2.5]
set yrange [-2.5:2.5]
set isosamples 200,200
set hidden3d
set pm3d
unset surface
set ticslevel 0
unset border
unset xtics
unset ytics
unset ztics
splot f(x,y)
Comme on a fortement augmenté le nombre de calculs, on a utilisé unset surface qui empêche gnuplot
de se noyer dans les calculs. On a remis le plan de base à sa vraie place avec set ticslevel 0.
unset border et les trois lignes suivantes suppriment les axes et les marques sur les axes
La figure a été obtenue dans un terminal png
Ici, on a unset surface
set pm3d map
unset key
set title "cartographie de … f"
replot
En enlevant le gradient de couleur et en augmentant la définition on obtient cela
unset pm3d
set isosamples 60,60
replot