IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tableaux - Graphiques - Images - Flottants Discussion :

Tikz : grilles non alignées avec les "bonnes valeurs"


Sujet :

Tableaux - Graphiques - Images - Flottants

  1. #1
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2014
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 114
    Points : 79
    Points
    79
    Par défaut Tikz : grilles non alignées avec les "bonnes valeurs"
    Bonjour tout le monde !!

    Voici le problème que je rencontre.

    Ma grille censée avoir un pas de 1 cm avec une échelle de 0.001cm et commençant à une valeur fixe "21000" ne veut pas commencer à 21000, mais un peu plus haut.

    Je vous mets un ECM, c'est sans doute tout bête mais je n'y comprends rien...
    Sur le graphique j'ai mis une croix rouge située à 22000 en ordonnées et on voit que cette croix n'est pas sur la grille...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    \documentclass[10pt]{article}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage{pgf,tikz}
    \usetikzlibrary{arrows}
    \begin{document}
    \begin{tikzpicture}[x=1.0cm,y=0.001cm]
    \draw [dash pattern=on 2pt off 2pt, xstep=0.5cm,ystep=1cm] (0,21000) grid (10,35000);
    \draw[] (0,21000) -- (0,35000);
    \foreach \y in {21000,22000,23000,24000,25000,26000,27000,28000,29000,30000,31000,32000,33000,34000}
    \draw[shift={(0,\y)},color=black] (2pt,0pt) -- (-2pt,0pt) node[left] {\footnotesize $\y$};
    \draw[-stealth, thick,color=black] (0,21000) -- (10,21000);
    \foreach \x in {,0,1,2,3,4,5,6,7,8,9,10}
    \draw[shift={(\x,20600)},color=black] (0pt,15pt) -- (0pt,6pt) node[left] {\footnotesize $\x$};
    \clip(0.0,20000) rectangle (10,35000.0);
    \draw [color=red, ultra thick] (1,22000)-- ++(-2.5pt,-2.5pt) -- ++(5.0pt,5.0pt) ++(-5.0pt,0) -- ++(5.0pt,-5.0pt);
    \end{tikzpicture}
    \end{document}
    Merci pour vos précieux conseils et à bientôt !!

  2. #2
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2014
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 114
    Points : 79
    Points
    79
    Par défaut
    Hello again !

    je me réponds à moi même car je viens d'essayer un truc.
    J'ai repris mes valeurs avec mes axes gradués de 0 à 35, impeccable, puis de 0 à 350 impeccable, puis de 0 à 3500 et là je commence à voir un décalage et si je finis avec mes valeurs initiales je me retrouve avec le même souci
    C'est donc à mon avis une histoire de défaut de précision de tikz, mais je ne sais pas du tout comment changer ca....
    Voilà, je pars au boulot ! si vous avez des idées

  3. #3
    Invité
    Invité(e)
    Par défaut
    Il suffit d'indiquer les pas avec un nombre et non pas une dimension comme ceci :
    \draw [dash pattern=on 2pt off 2pt, xstep=0.5,ystep=1000] (0,21000) grid (10,35000);
    ce qui donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    \documentclass[10pt]{article}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage{pgf,tikz}
    \usetikzlibrary{arrows}
    \usepackage[frenchb]{babel}
    \begin{document}
    \begin{tikzpicture}[x=1.0cm,y=0.001cm]
    \draw [dash pattern=on 2pt off 2pt, xstep=0.5,ystep=1000] (0,21000) grid (10,35000);
    \draw[] (0,21000) -- (0,35000);
    \foreach \y in {21000,22000,23000,24000,25000,26000,27000,28000,29000,30000,31000,32000,33000,34000}{
    \draw[shift={(0,\y)},color=black] (2pt,0pt) -- (-2pt,0pt) node[left] {\footnotesize $\y$};
    }
    \draw[-stealth, thick,color=black] (0,21000) -- (10,21000);
     
    \foreach \x in {0,1,...,10}{
    \draw[shift={(\x,20600)},color=black] (0pt,15pt) -- (0pt,6pt) node[left] {\footnotesize $\x$};}
     
    \clip(0.0,20000) rectangle (10,35000.0);
    \draw [color=red, ultra thick] (1,22000)-- ++(-2.5pt,-2.5pt) -- ++(5.0pt,5.0pt) ++(-5.0pt,0) -- ++(5.0pt,-5.0pt);
    \end{tikzpicture}
    \end{document}
    Remarque, inutile de donner la liste de tous les nombres dans un foreach comme ici à la ligne 16, des pointillés suffisent :
    \foreach \x in {0,1,...,10}

  4. #4
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2014
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 114
    Points : 79
    Points
    79
    Par défaut
    Oh punaise !

    Trop fort André ! Tu réponds à une autre de mes questions avant même que je la pose je me demandais en effet si on devait mettre toutes les graduations !!

    Je peux pas essayer ta solution maintenant mais j'ai hâte !!

    D'avance un grand merci !

    Frero

  5. #5
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2014
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 114
    Points : 79
    Points
    79
    Par défaut
    Hello !

    voilà, j'ai pu essayer ta méthode, qui fonctionne pour :
    - les graduations, il faut effectivement enlever les unités.
    - la numérotation automatique de l'axe des abscisses, c'est génial, je cherchais depuis un moment

    Mais, en voulant faire de même pour la numérotation de l'axe des ordonnées, cela ne fonctionne pas.

    voici le code que j'ai tapé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    \documentclass[10pt]{article}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage{pgf,tikz}
    \usetikzlibrary{arrows}
    \begin{document}
    \begin{tikzpicture}[x=1.0cm,y=0.001cm]
    \draw [dash pattern=on 1pt off 2pt, xstep=1,ystep=1000] (0,21000) grid (10,35000);
    \draw[-stealth, thick,color=black] (0,21000) -- (0,35000);
    \foreach \y in {21000,22000,...,34000}
    \draw[shift={(0,\y)},color=black] (2pt,0pt) -- (-2pt,0pt) node[left] {\footnotesize $\y$};
    \draw[-stealth, thick,color=black] (0,21000) -- (10,21000);
    \foreach \x in {0,1,...,10}
    \draw[shift={(\x,20600)},color=black] (0pt,15pt) -- (0pt,6pt) node[left] {\footnotesize $\x$};
    \clip(0,20000) rectangle (10,35000);
    \draw [color=red, ultra thick] (1,22000)-- ++(-2.5pt,-2.5pt) -- ++(5.0pt,5.0pt) ++(-5.0pt,0) -- ++(5.0pt,-5.0pt);
    \end{tikzpicture}
    \end{document}
    Comme tu peux le voir, la ligne 13 provient de ta solution et cela fonctionne nickel.
    La ligne 10 est une simple adaptation, mais les dimensions sont trop larges ...

    Aurais-tu une idée pour résoudre ce souci ?

    D'avance un grand merci !

    Frero

  6. #6
    Invité
    Invité(e)
    Par défaut
    Le principe de base des forums d'entraide est de permettre une indexation des discussions par les moteurs de recherche afin que celui qui rencontre le même problème trouve une solution.
    Ainsi, la règle de base est de ne traiter qu'un seul problème par fil de discussion.
    Si le problème ouvert dans ce fil est résolu, marquez-le en résolu et ouvrez une autre discussion pour ce nouveau problème.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [lsqcurvefit] Comment calculer les bonnes valeurs ?
    Par DOC doc doc dans le forum MATLAB
    Réponses: 0
    Dernier message: 13/05/2008, 10h59
  2. Récupérer les bonnes valeurs
    Par AT dans le forum Débuter
    Réponses: 2
    Dernier message: 03/02/2008, 12h47
  3. [SQL] Pb Mysql n'insert pas les bonnes valeur dans la bdd
    Par potao dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 11/02/2007, 03h12
  4. [CR9] Bug avec les champs à valeur vide ?
    Par Djob dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 15/07/2003, 21h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo