Histogramme avec Gnuplot

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

Histogramme avec Gnuplot

Messagepar D.GH » Samedi 14 Juillet 2007, 20:26

Bonjour,

Voici un code pour faire des histogrammes avec des commandes Gnuplot dans un document Latex.
Code: Tout sélectionner
% Compiler avec l'option --shell-escape
% pour MikTeX   : latex -enable-write18
\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[francais]{babel}
\usepackage{graphics} % pour l'insertion d'une image
\usepackage{pstricks}
\usepackage{filecontents}
\usepackage{moreverb}

%Appel à Gnuplot

\makeatletter
% #1 fichier contenant les commandes en Gnuplot
\newcommand{\ExecuteGnuplot}[1]{
\immediate\write18{@echo off}
\immediate\write18{C:/gnuplot/bin/wgnuplot.exe #1} }
\makeatother
%  répertoire de  wgnuplot.exe   : C:\gnuplot\bin
%%%%%%%%%%%%%
% fichier des données
\begin{filecontents*}{donnes.dat}
-2.3999    0.0660
-1.9111    0.1179
-1.4224    0.3632
-0.9337    0.6462
-0.4450    0.8019
0.0437    1.0000
0.5324    0.8113
1.0211    0.5094
1.5099    0.2783
1.9986    0.0896
2.4873    0.0283
\end{filecontents*}
%%%%%%%%%%%%%
\begin{document}

% Les  commandes gnuplot dans le fichier fich.gnu

\begin{verbatimwrite}{fich.gnu}
set colorbox
set style fill solid .2 border -1
set xrange [-3:3]
set yrange [0:1]
plot 'donnes.dat' using 1:2 title '' with boxes
# pour avoir la figure en format eps
set term postscript eps color
set out 'fich1.eps'
set size 0.7, 0.7
replot
exit
\end{verbatimwrite}

\ExecuteGnuplot{fich.gnu}

\noindent L'histogramme des donn\'ees :

% pour inclure  l'image crée par Gnuplot  dans le document

\includegraphics{fich1.eps}

\end{document}


D.GH
D.GH
Méga-utilisateur
 
Messages: 398
Inscription: Lundi 02 Juillet 2007, 15:15

Publicité

Re: Histogramme avec Gnuplot

Messagepar D.GH » Lundi 16 Juillet 2007, 09:39

Pour ceux qui préfèrent travailler avec 'PdfLaTeX' et avoir des images en format 'pdf', Voici un code qui fait le même travail que le module 'epstopdf'.

Code: Tout sélectionner
% compilation  pdflatex -shell-escape doc.tex
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[francais]{babel}
\usepackage[pdftex]{graphicx}
\usepackage{filecontents}
\usepackage{moreverb}

%Appel à Gnuplot
\makeatletter
% #1 fichier contenant les commandes en Gnuplot
\newcommand{\ExecuteGnuplot}[1]{
\immediate\write18{@echo off}
\immediate\write18{C:/gnuplot/bin/wgnuplot.exe #1} }
\makeatother
%  répertoire de  wgnuplot.exe   : C:\gnuplot\bin
%%%%%%%%%%%%%
% fichier des données
\begin{filecontents*}{donnes.dat}
-2.6401    0.0203
-2.1378    0.1115
-1.6355    0.2170
-1.1331    0.2727
-0.6308    0.3223
-0.1284    1.0000
0.3739    0.5851
0.8762    0.1855
1.3786    0.0647
1.8809    0.0276
2.3832    0.0076
\end{filecontents*}
%%%%%%%%%%%%%
\begin{document}

% Les  commandes gnuplot dans le fichier fich.gnu

\begin{verbatimwrite}{fich.gnu}
set colorbox
set style fill solid 0.15 border -1
# set style fill pattern 1 border -1
set xrange [-3:3]
set yrange [0:1]
plot 'donnes.dat' using 1:2 title '' with boxes
# image en format eps
set term postscript eps color
set out 'fich1.eps'
set size 0.7, 0.7
replot
exit
\end{verbatimwrite}

\ExecuteGnuplot{fich.gnu}

%convertion eps->pdf
\immediate\write18{C:/texmf/miktex/bin/ps2pdf.exe -dEPSCrop fich1.eps fich1.pdf}

\noindent L'histogramme des donn\'ees :

% pour inclure  l'image crée par Gnuplot  dans le document

\includegraphics{fich1.pdf}

\end{document}


D.GH
http://www.cnam.fr/maths/Membres/ghorbanzadeh/
D.GH
Méga-utilisateur
 
Messages: 398
Inscription: Lundi 02 Juillet 2007, 15:15


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Google [Bot], Google Adsense [Bot], Grapeshot [Crawler], marco56, MSN [Bot] et 21 invités