Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| gnuplot [Le 18/03/2015, 08:50] – [Avec un fichier de configuration] G-Tux | gnuplot [Le 15/05/2025, 14:44] (Version actuelle) – Ajout graph exemple G-Tux | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag>Hardy calcul_numérique}} | + | {{tag> |
| ---- | ---- | ||
| Ligne 12: | Ligne 12: | ||
| {{ gnuplot_ellipsoid.png? | {{ gnuplot_ellipsoid.png? | ||
| - | \\ | + | |
| ===== Pré-requis ===== | ===== Pré-requis ===== | ||
| Ligne 28: | Ligne 28: | ||
| [[: | [[: | ||
| + | [[: | ||
| ==== À partir des sources ==== | ==== À partir des sources ==== | ||
| - | Indispensable pour pouvoir profiter des options de [[gnuplot# | + | Indispensable pour pouvoir profiter des options de [[gnuplot# |
| - | Les sources de la dernière version de gnuplot sont disponibles sur [[http:// | + | Les sources de la dernière version de gnuplot sont disponibles sur [[https:// |
| Après avoir téléchargé les sources, se référer au fichier INSTALL contenu dans l' | Après avoir téléchargé les sources, se référer au fichier INSTALL contenu dans l' | ||
| Ligne 99: | Ligne 99: | ||
| </ | </ | ||
| - | L' | + | L' |
| Par défaut, Gnuplot représente un nuage de points. Pour obtenir une ligne brisée, il faut ajouter l' | Par défaut, Gnuplot représente un nuage de points. Pour obtenir une ligne brisée, il faut ajouter l' | ||
| - | Ainsi, pour afficher la ligne brisée représentant la cinquième colonne en fonction de la première colonne du fichier " | + | Ainsi, pour afficher la ligne brisée représentant la cinquième colonne en fonction de la première colonne du fichier " |
| < | < | ||
| plot ' | plot ' | ||
| Ligne 111: | Ligne 111: | ||
| <file gnuplot Resultats> | <file gnuplot Resultats> | ||
| x cos sin log exp | x cos sin log exp | ||
| - | 0 1 0 -inf 1 | + | 0 1 0 -inf 1 |
| 0.1 0.995004 0.0998334 -2.30259 1.10517 | 0.1 0.995004 0.0998334 -2.30259 1.10517 | ||
| 0.2 0.980067 0.198669 -1.60944 1.2214 | 0.2 0.980067 0.198669 -1.60944 1.2214 | ||
| Ligne 134: | Ligne 134: | ||
| </ | </ | ||
| {{:: | {{:: | ||
| - | \\ | ||
| - | Il s' | ||
| + | Il s' | ||
| - | Maintenant, si on veut rajouter le nuage de points représentant la troisième colonne en fonction de la deuxième colonne du fichier " | + | |
| + | Maintenant, si on veut rajouter le nuage de points représentant la troisième colonne en fonction de la deuxième colonne du fichier " | ||
| < | < | ||
| plot ' | plot ' | ||
| </ | </ | ||
| - | Il existe des raccourcis clavier pour activer des options directement sur la fenêtre de représentation graphique. | + | Il existe des raccourcis clavier pour activer des options directement sur la fenêtre de représentation graphique. |
| Ainsi, si l'on tape ' | Ainsi, si l'on tape ' | ||
| * < | * < | ||
| Ligne 157: | Ligne 157: | ||
| Puis : | Puis : | ||
| < | < | ||
| + | gnuplot> reset | ||
| gnuplot> set terminal png | gnuplot> set terminal png | ||
| gnuplot> set output " | gnuplot> set output " | ||
| Ligne 163: | Ligne 164: | ||
| </ | </ | ||
| - | {{ gnuplot: | + | {{ gnuplot: |
| < | < | ||
| - | \\ | ||
| - | ^ Code | + | |
| + | ^ Code ^ Fonction mathématique ^-^ Code ^ Fonction mathématique ^ | ||
| | abs (x)| valeur absolue d’un nombre réel|-| abs (z)| module d’un nombre complexe| | | abs (x)| valeur absolue d’un nombre réel|-| abs (z)| module d’un nombre complexe| | ||
| | acos (x) | arc cosinus|-| acosh (x)| arc cosinus hyperbolique| | | acos (x) | arc cosinus|-| acosh (x)| arc cosinus hyperbolique| | ||
| Ligne 185: | Ligne 186: | ||
| | log (x)| logarithme népérien|-| log10 (x)| logarithme décimal| | | log (x)| logarithme népérien|-| log10 (x)| logarithme décimal| | ||
| | norm (x)| fonction de répartition de la loi normale N (0; 1)|-| pi|nombre π (3,14...)| | | norm (x)| fonction de répartition de la loi normale N (0; 1)|-| pi|nombre π (3,14...)| | ||
| - | |rand (x)| nombre au hasard|-| real (z)| partie réelle d’un nombre complexe| | + | | rand (x)| nombre au hasard|-| real (z)| partie réelle d’un nombre complexe| |
| | sgn (x)| fonction signe|-|sin (x)| sinus| | | sgn (x)| fonction signe|-|sin (x)| sinus| | ||
| | sinh (x)| sinus hyperbolique|-| sqrt (x)| racine carrée| | | sinh (x)| sinus hyperbolique|-| sqrt (x)| racine carrée| | ||
| - | | tan (x)| tangente|-| tanh (x)| tangente hyperbolique| | + | | tan (x)| tangente|-| tanh (x)| tangente hyperbolique| |
| + | |||
| + | |||
| + | ^ Code ^ Convention ^ | ||
| + | | x, y| Coordonnées cartésiennes, | ||
| + | | x, y, z| Coordonnées cartésiennes, | ||
| + | | r| Coordonnées polaires, pour le rayon vecteur| | ||
| + | | t| Coordonnées polaires, pour l' | ||
| + | |u| Coordonnées paramétriques, | ||
| + | |u, v| Coordonnées paramétriques, | ||
| ==== Avec un fichier de configuration ==== | ==== Avec un fichier de configuration ==== | ||
| - | En fait Gnuplot est un logiciel extrêmement puissant pour la représentation de données, puisqu' | + | En fait Gnuplot est un logiciel extrêmement puissant pour la représentation de données, puisqu' |
| < | < | ||
| Ligne 197: | Ligne 208: | ||
| - | il est possible de donner un nom aux axes et un titre au graphique en envoyant la commande : | + | il est possible de donner un nom aux axes et un titre au graphique en envoyant la commande : |
| < | < | ||
| Ligne 204: | Ligne 215: | ||
| Ce fichier pourrait par exemple contenir : | Ce fichier pourrait par exemple contenir : | ||
| - | |||
| < | < | ||
| set terminal jpeg | set terminal jpeg | ||
| - | set output "Gnuplot1.jpg" | + | set output "Gnuplot5.jpg" |
| set title ' Flux en fonction du temps: ' | set title ' Flux en fonction du temps: ' | ||
| set xlabel ' Temps (jj/ | set xlabel ' Temps (jj/ | ||
| Ligne 214: | Ligne 224: | ||
| set timefmt " | set timefmt " | ||
| set xtics format " | set xtics format " | ||
| + | set style fill transparent solid 0.5 noborder | ||
| plot " | plot " | ||
| - | " | + | " |
| </ | </ | ||
| - | Fichier " | + | Créer le fichier de données |
| - | < | + | < |
| 2014-11-10 151 105 | 2014-11-10 151 105 | ||
| 2014-11-11 140 91 | 2014-11-11 140 91 | ||
| Ligne 230: | Ligne 241: | ||
| 2014-12-10 130 89 | 2014-12-10 130 89 | ||
| 2014-12-12 147 8</ | 2014-12-12 147 8</ | ||
| - | {{ gnuplot:gnuplot1.jpg? | + | {{ gnuplot:gnuplot5.jpg? |
| - | ===Autre exemple | + | ===Exemple |
| - | <note tip> | + | <file gnuplot gnuplot2.gnu> |
| - | Pour les graphiques en **2D**, la commande est : "**plot** xxxxxxxxx", | + | reset |
| - | mais pour les graphiques en **3**D, il faut utiliser : "**splot** xxxxxxxxx". | + | set terminal png |
| - | </note> | + | set parametric |
| - | Créer le fichier, | + | set output |
| - | < | + | set grid xtics ytics |
| - | set terminal | + | set samples 300 |
| - | set output "Gnuplot1.jpg" | + | plot sin(4*t), cos(6*t)</ |
| - | splot [-4*pi:3*pi] cos (x), sin (x) | + | puis : |
| + | < | ||
| + | gnuplot | ||
| + | gnuplot> load "gnuplot2.gnu" | ||
| + | </code> | ||
| + | Résultat : | ||
| + | {{ :: | ||
| + | |||
| + | |||
| + | ===Autre exemple de graphique (avec double axe X et Y)=== | ||
| + | |||
| + | Créer les fichiers | ||
| + | < | ||
| + | # mois température moyenne (°C) Ensoleillement(H) - sources données : http:// | ||
| + | Jan 5,9 84 | ||
| + | Fév 6,9 111 | ||
| + | Mar 8,7 174 | ||
| + | Avr 11,1 212 | ||
| + | Mai 14,3 239 | ||
| + | Jun 17,5 272 | ||
| + | Jui 19,8 305 | ||
| + | Aou 19,6 277 | ||
| + | Sep 17,8 218 | ||
| + | Oct 14,2 167 | ||
| + | Nov 9,4 107 | ||
| + | Déc 6,6 85 | ||
| + | </ | ||
| + | <file gnuplot gnuplot3.gnu> | ||
| + | reset | ||
| + | set terminal | ||
| + | set output "La Rochelle.png" | ||
| + | set title textcolor rgb " | ||
| + | set key outside below; set key title " | ||
| + | set grid # Grille de fond | ||
| + | set label 1 textcolor rgb " | ||
| + | set xtics textcolor rgb " | ||
| + | set x2range | ||
| + | set ytics textcolor rgb " | ||
| + | set y2label textcolor rgb " | ||
| + | set style fill transparent solid 0.3# Colorisation | ||
| + | plot [-1:12] [4:22] " | ||
| + | " | ||
| </ | </ | ||
| - | Sauvegardez | + | Sauvegardez |
| < | < | ||
| gnuplot | gnuplot | ||
| - | gnuplot> load "GP.gnu" | + | gnuplot> load "gnuplot3.gnu" |
| </ | </ | ||
| Voici le résultat : | Voici le résultat : | ||
| - | {{ gnuplot:gnuplot2.jpg? | + | {{ gnuplot:la_rochelle.png? |
| + | |||
| + | ===Autre exemple pour un graphique 3D colorisé=== | ||
| + | <note tip> | ||
| + | Pour les graphiques en **2D**, la commande est : " | ||
| + | mais pour les graphiques en **3D**, il faut utiliser : " | ||
| + | et pour imprimer plusieurs graphiques sur une même page, renseigner : " | ||
| + | </ | ||
| - | Autre exemple : | ||
| Fichier avec données : | Fichier avec données : | ||
| - | < | + | < |
| + | reset | ||
| set terminal png | set terminal png | ||
| set output " | set output " | ||
| Ligne 270: | Ligne 329: | ||
| < | < | ||
| gnuplot | gnuplot | ||
| - | gnuplot> load "GP.gnu" | + | gnuplot> load "mon_fichier.gnu" |
| </ | </ | ||
| - | Voici le résultat | + | Voilà |
| {{ gnuplot: | {{ gnuplot: | ||
| - | \\ | + | |
| ==== À partir d'un programme en C ==== | ==== À partir d'un programme en C ==== | ||
| Ligne 341: | Ligne 400: | ||
| g = Gnuplot.Gnuplot(debug=1) | g = Gnuplot.Gnuplot(debug=1) | ||
| - | a = Gnuplot.Data(([1, | + | a = Gnuplot.Data(([1, |
| - | b = Gnuplot.Data(([1, | + | b = Gnuplot.Data(([1, |
| - | c = Gnuplot.Data(([1, | + | c = Gnuplot.Data(([1, |
| Ligne 362: | Ligne 421: | ||
| ==== Démarche ==== | ==== Démarche ==== | ||
| - | Ces deux options ne sont pas mises par défaut dans Ubuntu, car Gnuplot est disponible sous une licence spéciale, qui interdit sa distribution après modification. Il serait ainsi illégal de mettre ici un lien vers un paquet compilé à partir des sources de Gnuplot. Par contre, ce tuto est tout à fait autorisé, et vous avez le droit de suivre ses instructions pour une utilisation personnelle du logiciel ! | + | Ces deux options ne sont pas mises par défaut dans Ubuntu, car Gnuplot est disponible sous une licence spéciale, qui interdit sa distribution après modification. Il serait ainsi illégal de mettre ici un lien vers un paquet compilé à partir des sources de Gnuplot. Par contre, ce tuto est tout à fait autorisé, et vous avez le droit de suivre ses instructions pour une utilisation personnelle du logiciel ! |
| Pour activer la complétion et l' | Pour activer la complétion et l' | ||
| Ligne 370: | Ligne 429: | ||
| Tout d' | Tout d' | ||
| - | On peut maintenant obtenir les sources du logiciel. Se placer dans / | + | On peut maintenant obtenir les sources du logiciel. Se placer dans / |
| < | < | ||
| sudo apt-get source gnuplot | sudo apt-get source gnuplot | ||
| Ligne 383: | Ligne 442: | ||
| < | < | ||
| - | Puis aller dans le répertoire / | + | Puis aller dans le répertoire / |
| < | < | ||
| cd / | cd / | ||
| Ligne 392: | Ligne 451: | ||
| et remplacer l' | et remplacer l' | ||
| - | On obtient ainsi le paragraphe : | + | On obtient ainsi le paragraphe : |
| < | < | ||
| config.status: | config.status: | ||
| Ligne 407: | Ligne 466: | ||
| </ | </ | ||
| - | Remonter dans le dossier père et compiler le paquet : | + | Remonter dans le dossier père et compiler le paquet : |
| < | < | ||
| cd .. | cd .. | ||
| Ligne 418: | Ligne 477: | ||
| ==== Installer le nouveau paquet ==== | ==== Installer le nouveau paquet ==== | ||
| - | Remonter encore d'un dossier et installer le nouveau paquet : | + | Remonter encore d'un dossier et installer le nouveau paquet : |
| cd .. | cd .. | ||
| Ligne 431: | Ligne 490: | ||
| ==== Bloquer les mises à jour ==== | ==== Bloquer les mises à jour ==== | ||
| - | Voici une solution possible pour geler le paquet gnuplot à son état actuel. Il existe certainement d' | + | Voici une solution possible pour geler le paquet gnuplot à son état actuel. Il existe certainement d' |
| Jusqu' | Jusqu' | ||
| - | Il n'y a pour l' | + | Il n'y a pour l' |
| Dans un terminal, taper : | Dans un terminal, taper : | ||
| Ligne 485: | Ligne 544: | ||
| </ | </ | ||
| - | Les trois étoiles en début de ligne marquent l' | + | Les trois étoiles en début de ligne marquent l' |
| * Se placer sur chacune des lignes et taper « = ». Cette action « hold » les packages à leur version actuelle | * Se placer sur chacune des lignes et taper « = ». Cette action « hold » les packages à leur version actuelle | ||
| Ligne 503: | Ligne 562: | ||
| * C'est gagné. Normalement, | * C'est gagné. Normalement, | ||
| + | =====Quelques exemples (différentes possibilités)===== | ||
| + | <file gnuplot essai5.gnu> | ||
| + | reset | ||
| + | set terminal jpeg | ||
| + | set output " | ||
| + | set key off | ||
| + | set xrang [0:10] | ||
| + | set yrang [0:10] | ||
| + | set style line 12 lt rgb " | ||
| + | set style fill solid 0.6 | ||
| + | set object 1 rectangle at 1,1 size 8,2 fc rgb " | ||
| + | set object 2 circle at 4,6.2 radius 2 fc rgb " | ||
| + | set object 3 ellipse at 6,2.5 size 3,8 angle 40 fc rgb " | ||
| + | set object 4 polygon from 8.6,4 to 8.6,8 to 8.2,8 to 9.2,9.6 \ | ||
| + | to 10,8 to 9.6,8 to 9.6,4 to 8.6,4 | ||
| + | plot NaN </ | ||
| - | ===== Voir aussi ===== | + | {{:: |
| + | Source [[https:// | ||
| + | {{:: | ||
| + | |||
| + | |||
| + | Source [[https:// | ||
| + | {{ :: | ||
| + | |||
| + | |||
| + | Source [[https:// | ||
| + | {{ :: | ||
| + | |||
| + | {{ :: | ||
| + | ===== Voir aussi ===== | ||
| + | * [[Matplotlib]] | ||
| * **(en)** [[http:// | * **(en)** [[http:// | ||
| * (fr) [[http:// | * (fr) [[http:// | ||
| - | | + | * (fr) [[http:// |
| - | | + | * (fr) [[https:// |
| - | * (fr) [[http:// | + | * (fr) [[http:// |
| - | * (fr) [[http:// | + | |
| ---- | ---- | ||
| // | // | ||
