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 19/03/2015, 11:05] – [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 ^ Fonction mathématique ^-^ Code ^ Fonction mathématique ^ | ^ Code ^ Fonction mathématique ^-^ Code ^ Fonction mathématique ^ | ||
| 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| |
| Ligne 201: | Ligne 202: | ||
| ==== 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 207: | 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 214: | Ligne 215: | ||
| Ce fichier pourrait par exemple contenir : | Ce fichier pourrait par exemple contenir : | ||
| - | |||
| < | < | ||
| set terminal jpeg | set terminal jpeg | ||
| Ligne 228: | Ligne 228: | ||
| " | " | ||
| </ | </ | ||
| - | 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 244: | Ligne 244: | ||
| ===Exemple pour la fonction paramétrique=== | ===Exemple pour la fonction paramétrique=== | ||
| - | < | + | < |
| + | reset | ||
| set terminal png | set terminal png | ||
| set parametric | set parametric | ||
| Ligne 257: | Ligne 258: | ||
| </ | </ | ||
| Résultat : | Résultat : | ||
| - | {{:: | + | {{ ::gnuplot:essai4.png? |
| - | ===Autre exemple | + | |
| - | <note tip> | + | ===Autre exemple |
| - | Pour les graphiques en **2D**, la commande est : " | + | |
| - | mais pour les graphiques en **3D**, il faut utiliser : " | + | Créer les fichiers : |
| - | et pour imprimer plusieurs graphiques sur une même page, renseigner : " | + | <file gnuplot LR.dat> |
| - | </note> | + | # mois température moyenne (°C) Ensoleillement(H) - sources données |
| - | Créer le fichier, avec la fonction : | + | Jan 5,9 84 |
| - | < | + | Fév 6,9 111 |
| - | set terminal | + | Mar 8,7 174 |
| - | set output "gnuplot2.jpg" | + | Avr 11,1 212 |
| - | splot [-4*pi:3*pi] cos (x), sin (x) | + | 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> | ||
| + | < | ||
| + | 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 "gnuplot2.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é=== | ===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 : " | ||
| + | </ | ||
| Fichier avec données : | Fichier avec données : | ||
| - | < | + | < |
| + | reset | ||
| set terminal png | set terminal png | ||
| set output " | set output " | ||
| Ligne 303: | Ligne 333: | ||
| Voilà : | Voilà : | ||
| {{ gnuplot: | {{ gnuplot: | ||
| - | \\ | + | |
| ==== À partir d'un programme en C ==== | ==== À partir d'un programme en C ==== | ||
| Ligne 370: | 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 391: | 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 399: | 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 412: | Ligne 442: | ||
| < | < | ||
| - | Puis aller dans le répertoire / | + | Puis aller dans le répertoire / |
| < | < | ||
| cd / | cd / | ||
| Ligne 421: | Ligne 451: | ||
| et remplacer l' | et remplacer l' | ||
| - | On obtient ainsi le paragraphe : | + | On obtient ainsi le paragraphe : |
| < | < | ||
| config.status: | config.status: | ||
| Ligne 436: | 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 447: | 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 460: | 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 514: | 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 533: | Ligne 563: | ||
| =====Quelques exemples (différentes possibilités)===== | =====Quelques exemples (différentes possibilités)===== | ||
| - | < | + | < |
| + | reset | ||
| set terminal jpeg | set terminal jpeg | ||
| set output " | set output " | ||
| set key off | set key off | ||
| - | set xrang [0: | + | set xrang [0:10] |
| set yrang [0:10] | set yrang [0:10] | ||
| set style line 12 lt rgb " | set style line 12 lt rgb " | ||
| Ligne 547: | Ligne 578: | ||
| to 10,8 to 9.6,8 to 9.6,4 to 8.6,4 | to 10,8 to 9.6,8 to 9.6,4 to 8.6,4 | ||
| plot NaN </ | 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:// | + | |
| ---- | ---- | ||
| // | // | ||
