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 17/03/2015, 10:13] – [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 132: | Ligne 132: | ||
| 1.9 -0.32329 0.9463 0.641854 6.68589 | 1.9 -0.32329 0.9463 0.641854 6.68589 | ||
| 2 -0.416147 0.909297 0.693147 7.38906 | 2 -0.416147 0.909297 0.693147 7.38906 | ||
| - | 2.1 -0.504846 0.863209 0.741937 8.16617 | ||
| - | 2.2 -0.588501 0.808496 0.788457 9.02501 | ||
| - | 2.3 -0.666276 0.745705 0.832909 9.97418 | ||
| - | 2.4 -0.737394 0.675463 0.875469 11.0232 | ||
| - | 2.5 -0.801144 0.598472 0.916291 12.1825 | ||
| - | 2.6 -0.856889 0.515501 0.955511 13.4637 | ||
| - | 2.7 -0.904072 0.42738 0.993252 14.8797 | ||
| - | 2.8 -0.942222 0.334988 1.02962 16.4446 | ||
| - | 2.9 -0.970958 0.239249 1.06471 18.1741 | ||
| - | 3 -0.989992 0.14112 1.09861 20.0855 | ||
| - | 3.1 -0.999135 0.0415807 1.1314 22.198 | ||
| - | 3.2 -0.998295 -0.0583741 1.16315 24.5325 | ||
| - | 3.3 -0.98748 -0.157746 1.19392 27.1126 | ||
| - | 3.4 -0.966798 -0.255541 1.22378 29.9641 | ||
| - | 3.5 -0.936457 -0.350783 1.25276 33.1155 | ||
| - | 3.6 -0.896758 -0.44252 1.28093 36.5982 | ||
| - | 3.7 -0.8481 -0.529836 1.30833 40.4473 | ||
| - | 3.8 -0.790968 -0.611858 1.335 44.7012 | ||
| - | 3.9 -0.725932 -0.687766 1.36098 49.4024 | ||
| - | 4 -0.653644 -0.756802 1.38629 54.5982 | ||
| - | 4.1 -0.574824 -0.818277 1.41099 60.3403 | ||
| - | 4.2 -0.490261 -0.871576 1.43508 66.6863 | ||
| - | 4.3 -0.400799 -0.916166 1.45862 73.6998 | ||
| - | 4.4 -0.307333 -0.951602 1.4816 81.4509 | ||
| - | 4.5 -0.210796 -0.97753 1.50408 90.0171 | ||
| - | 4.6 -0.112153 -0.993691 1.52606 99.4843 | ||
| - | 4.7 -0.0123887 -0.999923 1.54756 109.947 | ||
| - | 4.8 0.087499 -0.996165 1.56862 121.51 | ||
| - | 4.9 0.186512 -0.982453 1.58924 134.29 | ||
| - | 5 0.283662 -0.958924 1.60944 148.413 | ||
| - | 5.1 0.377978 -0.925815 1.62924 164.022 | ||
| - | 5.2 0.468517 -0.883455 1.64866 181.272 | ||
| - | 5.3 0.554374 -0.832267 1.66771 200.337 | ||
| - | 5.4 0.634693 -0.772764 1.6864 221.406 | ||
| - | 5.5 0.70867 -0.70554 1.70475 244.692 | ||
| - | 5.6 0.775566 -0.631267 1.72277 270.426 | ||
| - | 5.7 0.834713 -0.550686 1.74047 298.867 | ||
| - | 5.8 0.88552 -0.464602 1.75786 330.3 | ||
| - | 5.9 0.927478 -0.373877 1.77495 365.037 | ||
| - | 6 0.96017 -0.279415 1.79176 403.429 | ||
| </ | </ | ||
| + | {{:: | ||
| - | 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 " | + | 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 " | ||
| < | < | ||
| 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 194: | Ligne 157: | ||
| Puis : | Puis : | ||
| < | < | ||
| + | gnuplot> reset | ||
| gnuplot> set terminal png | gnuplot> set terminal png | ||
| gnuplot> set output " | gnuplot> set output " | ||
| Ligne 200: | 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 221: | Ligne 185: | ||
| | lambertw (x)| fonction W de Lambert|-| lgamma (x)| log de la valeur absolue de la fonction gamma| | | lambertw (x)| fonction W de Lambert|-| lgamma (x)| log de la valeur absolue de la fonction gamma| | ||
| | 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)|-| rand (x)| nombre au hasard| | + | | norm (x)| fonction de répartition de la loi normale N (0; 1)|-| pi|nombre π (3, |
| - | | real (z)| partie réelle d’un nombre complexe|-| sgn (x)| fonction signe| | + | | rand (x)| nombre au hasard|-| real (z)| partie réelle d’un nombre complexe| |
| - | |sin (x)| sinus|-| sinh (x)| sinus hyperbolique| | + | | sgn (x)| fonction signe|-|sin (x)| sinus| |
| - | | sqrt (x)| racine carrée|-| tan (x)| tangente| | + | | sinh (x)| sinus hyperbolique|-| sqrt (x)| racine carrée| |
| - | | 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 234: | 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 241: | Ligne 215: | ||
| Ce fichier pourrait par exemple contenir : | Ce fichier pourrait par exemple contenir : | ||
| - | |||
| < | < | ||
| + | set terminal jpeg | ||
| + | set output " | ||
| set title ' Flux en fonction du temps: ' | set title ' Flux en fonction du temps: ' | ||
| - | set xlabel ' Temps (jj/mm) / (HH/MM)' | + | set xlabel ' Temps (jj/ |
| set ylabel ' Flux ' | set ylabel ' Flux ' | ||
| set xdata time | set xdata time | ||
| - | set timefmt "%d%m%H%M" | + | set timefmt "%Y-%m-%d" |
| - | set format | + | set xtics format "%d-%m" |
| - | plot "flux.flx" using 1:2 with lines | + | set style fill transparent solid 0.5 noborder |
| + | plot "flux.dat" using 1:2 with lines,\ | ||
| + | " | ||
| </ | </ | ||
| + | Créer le fichier de données (l' | ||
| + | <file gnuplot flux.dat> | ||
| + | 2014-11-10 151 105 | ||
| + | 2014-11-11 140 91 | ||
| + | 2014-11-12 148 91 | ||
| + | 2014-11-13 158 114 | ||
| + | 2014-11-14 144 96 | ||
| + | 2014-11-15 169 106 | ||
| + | 2014-11-16 184 112 | ||
| + | 2014-12-01 157 106 | ||
| + | 2014-12-08 120 86 | ||
| + | 2014-12-10 130 89 | ||
| + | 2014-12-12 147 8</ | ||
| + | {{ gnuplot: | ||
| - | ===Exemple | + | ===Exemple |
| - | Créer | + | <file gnuplot gnuplot2.gnu> |
| - | Ajouter dans le fichier | + | reset |
| - | < | + | set terminal png |
| + | set parametric | ||
| + | set output " | ||
| + | set grid xtics ytics | ||
| + | set samples 300 | ||
| + | plot sin(4*t), cos(6*t)</ | ||
| + | puis : | ||
| + | < | ||
| + | gnuplot | ||
| + | gnuplot> load " | ||
| + | </ | ||
| + | Résultat : | ||
| + | {{ :: | ||
| + | |||
| + | |||
| + | ===Autre exemple de graphique (avec double axe X et Y)=== | ||
| + | |||
| + | Créer | ||
| + | <file gnuplot LR.dat> | ||
| + | # 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 png | ||
| + | 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 [-1:12]; set x2tics textcolor rgb " | ||
| + | set ytics textcolor rgb " | ||
| + | set y2label textcolor rgb " | ||
| + | set style fill transparent solid 0.3# Colorisation | ||
| + | plot [-1:12] [4:22] " | ||
| + | " | ||
| + | </ | ||
| + | Sauvegardez les fichiers, puis | ||
| + | < | ||
| + | gnuplot | ||
| + | gnuplot> load "gnuplot3.gnu" | ||
| + | </ | ||
| + | Voici le résultat : | ||
| + | {{ gnuplot: | ||
| + | |||
| + | ===Autre exemple pour un graphique 3D colorisé=== | ||
| + | <note tip> | ||
| + | Pour les graphiques en **2D**, la commande est : "**plot** xxxx xxxxx", | ||
| + | mais pour les graphiques en **3D**, il faut utiliser : " | ||
| + | et pour imprimer plusieurs graphiques sur une même page, renseigner : " | ||
| + | </ | ||
| + | |||
| + | Fichier avec données | ||
| + | < | ||
| + | reset | ||
| set terminal png | set terminal png | ||
| set output " | set output " | ||
| - | set title textcolor rgb " | + | set title textcolor rgb " |
| set xlabel "Mes données 1" | set xlabel "Mes données 1" | ||
| - | set ylabel textcolor rgb " | + | set ylabel textcolor rgb " |
| - | set zlabel offset +5,+4 "Mes données 3" | + | set zlabel offset +5,+4 "Mes données 3" |
| r(x, | r(x, | ||
| f(x, | f(x, | ||
| Ligne 269: | Ligne 326: | ||
| splot f(x,y) with pm3d at s # Création du graphique 3D, avec splot | splot f(x,y) with pm3d at s # Création du graphique 3D, avec splot | ||
| </ | </ | ||
| - | Sauvegardez le fichier, puis | + | Puis : |
| < | < | ||
| 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 343: | 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 364: | 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 372: | 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 385: | Ligne 442: | ||
| < | < | ||
| - | Puis aller dans le répertoire / | + | Puis aller dans le répertoire / |
| < | < | ||
| cd / | cd / | ||
| Ligne 394: | Ligne 451: | ||
| et remplacer l' | et remplacer l' | ||
| - | On obtient ainsi le paragraphe : | + | On obtient ainsi le paragraphe : |
| < | < | ||
| config.status: | config.status: | ||
| Ligne 409: | 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 420: | 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 433: | 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 487: | 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 505: | 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:// | + | |
| ---- | ---- | ||
| // | // | ||
