Figure

Bonjour,
je ne parviens à obtenir l'affichage correct d'une figure réalisée sous Geogebra et exportée en TiKZ. J'obtiens bien le quadrillage et les axes gradués, mais à la place d'une belle ligne brisée, j'ai un pâté en bas à gauche. Visiblement, lors de la compilation, TeXstudio n'aime pas le \pgfplotsset{compat=1.15}, qu'il saute. Merci du coup de main. Voici le code :
\documentclass[10pt]{article}
\usepackage{pgf,tikz,pgfplots}
\pgfplotsset{compat=1.15}
\usepackage{mathrsfs}
\usetikzlibrary{arrows}
\pagestyle{empty}
\begin{document}
\begin{tikzpicture}[line cap=round,line join=round,>=triangle 45,x=1.0cm,y=1.0cm]
\begin{axis}[
x=1.0cm,y=1.0cm,
axis lines=middle,
ymajorgrids=true,
xmajorgrids=true,
xmin=-0.039999999999999876,
xmax=14.140000000000006,
ymin=-2.6199999999999983,
ymax=3.8600000000000008,
xtick={-0.0,1.0,...,14.0},
ytick={-2.0,-1.0,...,3.0},]
\clip(-0.04,-2.62) rectangle (14.14,3.86);
\draw [line width=1.2pt] (0.,0.)-- (1.,1.);
\draw [line width=1.2pt] (1.,1.)-- (2.,0.);
\draw [line width=1.2pt] (2.,0.)-- (3.,-1.);
\draw [line width=1.2pt] (3.,-1.)-- (4.,-2.);
\draw [line width=1.2pt] (4.,-2.)-- (5.,-1.);
\draw [line width=1.2pt] (5.,-1.)-- (6.,0.);
\draw [line width=1.2pt] (6.,0.)-- (7.,1.);
\draw [line width=1.2pt] (7.,1.)-- (8.,2.);
\draw [line width=1.2pt] (8.,2.)-- (9.,1.);
\draw [line width=1.2pt] (9.,1.)-- (10.,0.);
\draw [line width=1.2pt] (10.,0.)-- (11.,-1.);
\draw [line width=1.2pt] (11.,-1.)-- (12.,0.);
\draw [line width=1.2pt] (12.,0.)-- (13.,1.);
\draw [line width=1.2pt,dash pattern=on 2pt off 2pt] (13.,1.)-- (14.,2.);
\draw [line width=1.2pt,dash pattern=on 2pt off 2pt] (13.,1.)-- (14.,0.);
\begin{scriptsize}
\draw [fill=black] (0.,0.) circle (1.5pt);
\draw [fill=black] (1.,1.) circle (1.5pt);
\draw [fill=black] (2.,0.) circle (1.5pt);
\draw [fill=black] (3.,-1.) circle (1.5pt);
\draw [fill=black] (4.,-2.) circle (1.5pt);
\draw [fill=black] (5.,-1.) circle (1.5pt);
\draw [fill=black] (6.,0.) circle (1.5pt);
\draw [fill=black] (7.,1.) circle (1.5pt);
\draw [fill=black] (8.,2.) circle (1.5pt);
\draw [fill=black] (9.,1.) circle (1.5pt);
\draw [fill=black] (10.,0.) circle (1.5pt);
\draw [fill=black] (11.,-1.) circle (1.5pt);
\draw [fill=black] (12.,0.) circle (1.5pt);
\draw [fill=black] (13.,1.) circle (1.5pt);
\end{scriptsize}
\end{axis}
\end{tikzpicture}
\end{document}

Réponses

  • Je ne sais pas trop quoi te dire à part que la figure rend bien ici...
  • Ça ne marche pas tel quel chez moi non plus. Suivant cette page, j'ai remplacé compat=1.15 par compat=newest et là, tout va bien.

    Hypothèse d'explication : il s'avère que 1.15 est un numéro de version, laquelle est probablement absente chez toi et moi mais présente chez brian.
  • En effet, le 1.15 semble être géré chez moi car quand je compile la figure, pdflatex affiche ceci sur le terminal :
    Package pgfplots notification 'compat/show suggested version=true': you might benefit from \pgfplotsset{compat=1.16} (current compat level: 1.15).
    
    La version 1.16 a l'air d'être déclarée dans /usr/share/texlive/texmf-dist/tex/generic/pgfplots/pgfplots.revision.tex :
    \gdef\pgfplotsrevision{1.16}
    \gdef\pgfplotsversion{1.16}
    \gdef\pgfplotsversiondatetime{2018-03-28 20:42:04 +0200}
    \gdef\pgfplotsrevisiondatetime{2018-03-28 20:42:04 +0200}
    
    J'utilise TeX Live 2019 sous Debian sid (p. ex., le package texlive-base est en version 2018.20190227-2).

    Edit : ajout de la capture d'écran.86390
  • Merci à tous les deux.
  • Bonjour,

    j'ai mis à jour texstudio (2.12.14), j'ai installé texworks (0.6.2), j'ai essayé newest à la place de 1.15 et j'obtiens à chaque fois le même résultat : axes, quadrillage, pâté en bas à gauche en lieu et place de la ligne brisée...

    Comme dirait Vladimir : "Que faire ?"

    Merci de votre aide.
  • Est-ce que tu as installé texlive-pictures, plus pertient que texlive-base ?

    Si tu compiles :
    \documentclass[12pt]{article}
    \usepackage{pgfplots}
    \begin{document}
    \begin{tikzpicture}
      \begin{axis}
        [
          axis lines = center,
          xlabel = {$x$},
          ymin = 0,
          samples=200,
        ]
    
        \addplot[blue,thick] {x^2 + 5} ;
        
      \end{axis}
    \end{tikzpicture}
    \end{document}
    

    est-ce que tu obtiens :86444
  • En fait, je ne comprends pas le problème. De quel "pâté" en bas à gauche parles-tu ?
  • Je ne connais pas debian, ni même ubuntu, je suis sous windows... Il me semble que texlive-picture n'est pas dispo.

    Pour répondre à ta question : je n'obtiens pas la courbe attendue (cf. un message précédent pour voir à quoi elle ressemble). A la place j'ai un graboulli en bas à gauche du graphe.
  • Ah oui, pardon, j'ai lu le message de brian en pensant que c'était le tien :-?

    Pour ça que je ne comprenais pas le problème !!! X:-(
  • J'obtiens la parabole, mais j'ai toujours le même message d'erreur :

    Package pgfkeys Error: Choice '1.15' unknown in key '/pgfplots/compat/anchors'. I am going to ignore this key. \pgfplotsset{compat=1.15}
  • Magnéthorax, peux-tu trouver un fichier "pgfplots.revision.tex" quelque part sur ton ordinateur ? Si oui, il contient des lignes qui ressemblent à
    \gdef\pgfplotsrevision{1.15}
    \gdef\pgfplotsversion{1.15}
    
    et ce que tu lis à la place de 1.15 est peut-être ce qu'il faut mettre à la place de "newest". Sinon, tu peux essayer "1.8" (un peu au hasard... si ce n'est que j'ai essayé ça à l'instant dans un fichier personnel sans faire vraiment le lien avec ce fil).
  • Le
    \pgfplotsset{compat=1.15}
    
    c'est toi qui l'as ajouté, ou bien tu as juste compilé ce que j'ai écrit ?
  • marsup : c'est moi. Ca vient de l'exportation depuis geogebra.

    math coss : je m'y attèle
  • math coss : ce fichier n'est pas présent.
  • @Magnéthorax

    Je crois que ton problème ici est que le package pgfplots est trop vieux sur ton ordinateur. Il faudrait le mettre à jour avec les outils disponibles pour ta distribution (MikTeX, TeX Live, je ne sais pas).
  • Après, s'il ne s'agit que d'adapter cette figure, voici une version essentiellement à l'identique sans pgfplots.
    \documentclass{article}
    
    \usepackage{tikz}
    
    \begin{document}
    \begin{tikzpicture}[line cap=round,line join=round,>=latex,x=1.0cm,y=1.0cm]
    \foreach \i in {-2,...,3}{
      \draw[lightgray] (-.04,\i)--(14.2,\i);
      \draw (0,\i) node[left] {$\i$};
      }
    \clip(-0.04,-2.62) rectangle (14.14,3.86);
    \draw[->] (0,0)--(14.14,0);
    \draw[->] (0,-2.5)--(0,3.86);
    \foreach \i in {1,...,14}{
      \draw[lightgray] (\i,-3)--(\i,4);
      \draw (\i,0) node[below] {$\i$};
      }
    \draw [line width=1.2pt] (0.,0.)-- (1.,1.);
    \draw [line width=1.2pt] (1.,1.)-- (2.,0.);
    \draw [line width=1.2pt] (2.,0.)-- (3.,-1.);
    \draw [line width=1.2pt] (3.,-1.)-- (4.,-2.);
    \draw [line width=1.2pt] (4.,-2.)-- (5.,-1.);
    \draw [line width=1.2pt] (5.,-1.)-- (6.,0.);
    \draw [line width=1.2pt] (6.,0.)-- (7.,1.);
    \draw [line width=1.2pt] (7.,1.)-- (8.,2.);
    \draw [line width=1.2pt] (8.,2.)-- (9.,1.);
    \draw [line width=1.2pt] (9.,1.)-- (10.,0.);
    \draw [line width=1.2pt] (10.,0.)-- (11.,-1.);
    \draw [line width=1.2pt] (11.,-1.)-- (12.,0.);
    \draw [line width=1.2pt] (12.,0.)-- (13.,1.);
    \draw [line width=1.2pt,dash pattern=on 2pt off 2pt] (13.,1.)-- (14.,2.);
    \draw [line width=1.2pt,dash pattern=on 2pt off 2pt] (13.,1.)-- (14.,0.);
    \draw [fill=black] (0.,0.) circle (1.5pt);
    \draw [fill=black] (1.,1.) circle (1.5pt);
    \draw [fill=black] (2.,0.) circle (1.5pt);
    \draw [fill=black] (3.,-1.) circle (1.5pt);
    \draw [fill=black] (4.,-2.) circle (1.5pt);
    \draw [fill=black] (5.,-1.) circle (1.5pt);
    \draw [fill=black] (6.,0.) circle (1.5pt);
    \draw [fill=black] (7.,1.) circle (1.5pt);
    \draw [fill=black] (8.,2.) circle (1.5pt);
    \draw [fill=black] (9.,1.) circle (1.5pt);
    \draw [fill=black] (10.,0.) circle (1.5pt);
    \draw [fill=black] (11.,-1.) circle (1.5pt);
    \draw [fill=black] (12.,0.) circle (1.5pt);
    \draw [fill=black] (13.,1.) circle (1.5pt);
    \end{tikzpicture}
    \end{document}
    
Connectez-vous ou Inscrivez-vous pour répondre.