Problema con tikzpicture

  • Creatore
    Topic
  • #116416
    Up
    0
    Down
    ::


    Buonasera a tutti, nella redazione dalla tesi ho fatto un grafico con tikzpicture (sotto vi allego lo screen). Praticamente è un piano cartesiano coon una funzione sopra e due rette verticali che partono dall’asse delle ascisse. Il problema nasce su quest’ultime, in quanto ho necessità di indicarle con “a” e “b” ma la lettera “b” me la sposta leggermente più sotto. Non riesco a capire perché, me lo fa solo con quella lettera. Vi posto il codice e lo screen.
    Ps: ho provato a risolvere da solo ma non ci riesco davvero.

    Grazie in anticipo!
    `
    \begin{figure}[H]
    \centering
    \resizebox{\textwidth}{!}{\begin{tikzpicture}[every axis/.style={width=5cm}]

    \begin{axis}[name=axis5, axis x line=bottom, axis y line=left, xtick = \empty, ytick = \empty , xmin = 0, ymin = 0, xticklabels={}, yticklabels={}, extra x ticks={2.5,3}, extra x tick labels={a, b}]%axis 1

    \addplot{
    x^2
    };

    \addplot[pattern=north east lines]
    coordinates{
    (2.5,0)
    (2.5, 6.2)
    (3,9)
    } |- (axis cs:0,0) — cycle ;

    \end{axis}

    \begin{scope}[every node/.style={text width=7cm,align=left, }]
    \node [below] at (axis5.south) {\caption{ } };

    \end{scope}
    \end{tikzpicture}
    }
    \end{figure}`

    Attachments:
    You must be logged in to view attached files.
Visualizzazione 1 filone di risposte
  • Autore
    Risposte
    • #116417
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Come vedi la parte superiore della b è allineata con la parte superiore della a. Perché è cosi che si comporta TikZ.

        Ma si può correggere.

        Innanzi tutto quei due simboli indicano coordinate lungo l’asse x, quindi vanno scritti in modo matematico. Se non bastasse, inserisci accanto ad a e a b un comando \mathstrut che inserisce un oggetto invisibile della stessa altezza in modo da allineare del due lettere alla linea di base.

        Infine non usare mai i descrittoe H per la posizione delle figure, mai e poi mai, nemmeno sotto la minaccia delle armi. Potrebbe servire in rarissimi casi in cusi sia necessario inserire una figurina in dispay con un’altezza piccolissima e senza didascalia. In nessun altro caso si deve tenere fisso un oggetto di grandi dimensioni come un diagramma cartesiano. Le buone regole della tipografia richiedono inoltre che una figura NON venga messa come primo oggetto dopo il titolo di un paragrafo, come appare dlla figura che hai allegato.

      • #116418
        robitex
        Amministratore del forum
          Up
          0
          Down
          ::

          Michael1997″ post=116842Buonasera a tutti, nella redazione dalla tesi ho fatto un grafico con tikzpicture (sotto vi allego lo screen). Praticamente è un piano cartesiano coon una funzione sopra e due rette verticali che partono dall’asse delle ascisse. Il problema nasce su quest’ultime, in quanto ho necessità di indicarle con “a” e “b” ma la lettera “b” me la sposta leggermente più sotto. Non riesco a capire perché, me lo fa solo con quella lettera. Vi posto il codice e lo screen.
          Ps: ho provato a risolvere da solo ma non ci riesco davvero.

          Grazie in anticipo!
          `
          \begin{figure}[H]
          \centering
          \resizebox{\textwidth}{!}{\begin{tikzpicture}[every axis/.style={width=5cm}]

          \begin{axis}[name=axis5, axis x line=bottom, axis y line=left, xtick = \empty, ytick = \empty , xmin = 0, ymin = 0, xticklabels={}, yticklabels={}, extra x ticks={2.5,3}, extra x tick labels={a, b}]%axis 1

          \addplot{
          x^2
          };

          \addplot[pattern=north east lines]
          coordinates{
          (2.5,0)
          (2.5, 6.2)
          (3,9)
          } |- (axis cs:0,0) — cycle ;

          \end{axis}

          \begin{scope}[every node/.style={text width=7cm,align=left, }]
          \node [below] at (axis5.south) {\caption{ } };

          \end{scope}
          \end{tikzpicture}
          }
          \end{figure}`

          Ciao.
          Innanzi tutto non si tratta solamente del pacchetto Tikz e quindi dell’ambiente tickzpicture, ma del pacchetto pgfplots.
          Puoi usare dei banali tick label.
          Guarda questo codice:
          `\documentclass{article}
          \usepackage{pgfplots}
          \pgfplotsset{compat=1.16}

          \usetikzlibrary{patterns}
          \begin{document}

          \pgfplotsset{
          every x tick label/.style={anchor=south,yshift=-1.2em}
          }

          \begin{tikzpicture}
          \begin{axis}[
          width=5cm,
          samples=80,
          axis x line=bottom, axis y line=left,
          xtick = {2.5,3}, ytick = \empty,
          xmin = 0, ymin = 0,
          xticklabels={$a$,$b$},
          ]

          \addplot{x^2};
          \addplot[pattern=north east lines]
          coordinates{
          (2.5,0)
          (2.5, 6.2)
          (3,9)
          } |- (axis cs:0,0) — cycle ;

          \end{axis}
          \end{tikzpicture}

          \end{document}`
          Altro errore è il pattern definito da un trapezio. La linea superiore è la funzione quadratica. Così sei costretto a tener vicini i due limiti a e b.
          Ciao.

      Visualizzazione 1 filone di risposte
      • Devi essere connesso per rispondere a questo topic.

      Go to top