J'aimerais pouvoir reproduire le graphique fourni en pièce jointe. Je réalise mon graphe en important mes valeurs depuis un document .txt et je voudrais savoir comment faire pour éviter les messages d'erreur de type Package PGF Math error à cause des termes dans les coordonnées.

Voici l'environnement utilisé pour réaliser la courbe :

Ouvrir dans l'éditeur Overleaf
 \begin{figure}[ht]
        \centering
        {
            \begin{tikzpicture}
            \begin{axis}[
            xlabel=Temps (min),
            ylabel=Pourcentage molaire,
            grid=major,width=12cm,
            height=7cm]
            \addplot+[ybar] (Run1,0)(2h,60)(4h,100);
            \end{axis}
            \end{tikzpicture}}
        \caption{Conversion}
        \label{cinetalcene}
    \end{figure}

alt text

Posée 28 Sep '17, 15:41

Aur%C3%A9lienCocq's gravatar image

AurélienCocq
1.2k85466
Taux d'acceptation : 28%

Modifiée 17 Nov '18, 12:33

Pathe's gravatar image

Pathe ♦♦
7.4k29196245

@AurélienCocq Merci d'essayer de fournir un ECM et un exemple des valeurs utilisées.

(28 Sep '17, 16:31) Pathe ♦♦ Pathe's gravatar image

En fait c'est celui qui est en piece jointe que j 'essaye de reproduire mais je me confronte à des erreurs du fait qu'il y'a autre chose que des chiffres dans les coordonnées.

(28 Sep '17, 16:36) AurélienCocq Aur%C3%A9lienCocq's gravatar image

Dans ce cas, ne faut-il pas nettoyer les donner avant que de faire intervenir LaTeX ?

(28 Sep '17, 16:40) Pathe ♦♦ Pathe's gravatar image

Malheureusement comme dans le graphe présenté dans la question je n 'ai pas la possibilité de nettoyer les données...

(28 Sep '17, 17:19) AurélienCocq Aur%C3%A9lienCocq's gravatar image

Sans disposer de tous les éléments, il nous sera malheureusement difficile de vous aider...

(28 Sep '17, 17:27) Pathe ♦♦ Pathe's gravatar image

Le soucis est qu'en utilisant les valeurs (1,0)(2,60)(3,100)(4,0) cela est possible mais comme montré dans l'image dans la question, je dois ajouter les termes "run" et "heures" ou "h" dans les coordonées et cela pose problème mais je ne sais quoi faire

(28 Sep '17, 17:33) AurélienCocq Aur%C3%A9lienCocq's gravatar image

Utiliser des expressions régulières ? Un script sed, parfois agrémenté d'une pincée d'AWK, est bien souvent efficace.

(28 Sep '17, 19:45) Pathe ♦♦ Pathe's gravatar image

Malheureusement ces données sont importantes pour l'analyse que j'effectue, sans cela c'est beaucoup plus difficile à comprendre...

(28 Sep '17, 19:57) AurélienCocq Aur%C3%A9lienCocq's gravatar image

Est-ce que je comprends bien : vous essayez de compiler certaines données incluses dans le document, mais pas d'autres, c'est ça ?

(28 Sep '17, 21:49) Pathe ♦♦ Pathe's gravatar image

Quand je compile avec des coordonnées normales(0,1)(1,2)... je peux réaliser le graphe mais il me manque des information pour qu'il soit la copie de l'image sauf que si je passe à (Run1,0)(2h,2)... il y'a une erreur de compilation à cause de ces valeurs

(28 Sep '17, 23:22) AurélienCocq Aur%C3%A9lienCocq's gravatar image
2

Pour utiliser des coordonnées de type (Run1,0)(2h,2) il faut ajouter l'option symbolic x coords={run1,2h,4h} mais je ne sais pas comment l'adapter à votre exemple (je vais essayer de voir).

Pour contourner le problème, vous pouvez utiliser des coordonnées normales, avec l'option xticklabels={,,run1,2h,4h,run2,2h,4h},

(28 Sep '17, 23:48) touhami touhami's gravatar image
Affichage de 5 parmi 11 Afficher 6 commentaire(s) en plus

Une solution qui semble fonctionner avec les coordonnées symboliques. Les \phantom{} servent à avoir des coordonnées uniques, mais sans affecter l'affichage.

Ouvrir dans l'éditeur Overleaf
\documentclass{minimal}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.14}

\begin{document}
\begin{tikzpicture}
  \begin{axis}[
    ybar,
    width=12cm, height=7cm,
    xlabel={Temps (min)},
    ylabel={Pourcentage molaire},
    symbolic x coords={
      Run1, \phantom{1}2h, \phantom{1}4h, 
      Run2, \phantom{2}2h, \phantom{2}4h
    },
    xtick=data,
  ]
    \addplot+ coordinates {
       (Run1, 0) (\phantom{1}2h, 60) (\phantom{1}4h, 100) 
       (Run2, 0) (\phantom{2}2h, 50) (\phantom{2}4h, 80) 
    };

  \end{axis}
\end{tikzpicture}
\end{document}
Lien permanent

Publiée 17 Nov '18, 04:26

NeferTiyi's gravatar image

NeferTiyi
2412
Taux d'acceptation : 0%

Modifiée 17 Nov '18, 13:33

@NeferTiyi : votre code ne compile pas en ligne. Utilisez-vous une librairie TikZ particulière ?

(17 Nov '18, 12:31) Pathe ♦♦ Pathe's gravatar image
1

Ah mince ! Je me suis faite avoir aussi avec le code proposé dans la question : le préambule produit par Overleaf n'est pas complet, il faut y ajouter \usepackage{pgfplots}. Je vais corriger ça.

(17 Nov '18, 13:30) NeferTiyi NeferTiyi's gravatar image
Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.