Estoy usando el código siguiente para crear un gráfico. En la parte inferior hay dos llaves denominadas $t_1$ y $t_2$. Sin embargo, los números 1 y 2 están rotos (la parte inferior no se muestra). ¿Qué hay de malo en mi código? También intenté resolver este problema usando \pgfplotsextra
sin éxito.
Además, en relación con el código siguiente, me gustaría señalar .style
que todos los gráficos tienen un límite ampliado endistancia fija, es decir1cm. Si entiendo la preguntaAmpliar los límites por valor absoluto cuando se utilizan coordenadas simbólicascierto, esto no es posible en absoluto?
\documentclass[12pt,a7paper,landscape]{scrartcl}
\usepackage{pgfplots}
\pgfplotsset{standard/.style={axis x line=middle,axis y line=middle,every axis x label/.style={at={(current axis.right of origin)},anchor=north},every axis y label/.style={at={(current axis.above origin)},anchor=east}}}
\begin{document}
\begin{tikzpicture}
\begin{axis}[standard,width=8cm,height=5cm,enlarge x limits=0.11,enlarge y limits=0.19,xlabel=$t$,ylabel=$v$,xtick={20,60},xticklabels={,},ytick={25},yticklabels={$v'$}]
\addplot[thick,color=black] coordinates { (0,0) (20,25) (60,25) };
\addplot[dashed,very thin,color=black] coordinates { (20,0) (20,25) (0,25) };
\addplot[dashed,very thin,color=black] coordinates { (60,0) (60,25) };
\node at (axis cs:13.3,8.3) {$s_1$};
\node at (axis cs:40,12.5) {$s_2$};
\draw [decorate,decoration={brace,mirror,raise=2pt}] (axis cs:0,0) -- (axis cs:20,0) node [midway,below=1pt] {$t_1$};
\draw [decorate,decoration={brace,mirror,raise=2pt}] (axis cs:20,0) -- (axis cs:60,0) node [midway,below=1pt] {$t_2$};
\end{axis}
\end{tikzpicture}
\end{document}
Respuesta1
El texto se recorta en el borde del área del eje. Para evitar esto, puede proporcionar la clave clip=false
de las axis
opciones o colocar los \draw
comandos para after end axis/.code={...}
dibujar las anotaciones fuera del alcance de recorte:
\documentclass[12pt,a7paper,landscape]{scrartcl}
\usepackage{pgfplots}
\pgfplotsset{standard/.style={axis x line=middle,axis y line=middle,every axis x label/.style={at={(current axis.right of origin)},anchor=north},every axis y label/.style={at={(current axis.above origin)},anchor=east}}}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
standard,
width=8cm,height=5cm,
enlarge x limits=0.11,enlarge y limits=0.19,
xlabel=$t$,ylabel=$v$,
xtick={20,60},xticklabels={,},
ytick={25},yticklabels={$v'$},
after end axis/.code={
\draw [decorate,decoration={brace,mirror,raise=2pt}] (axis cs:0,0) -- (axis cs:20,0) node [midway,below=1pt] {$t_1$};
\draw [decorate,decoration={brace,mirror,raise=2pt}] (axis cs:20,0) -- (axis cs:60,0) node [midway,below=1pt] {$t_2$};
}
]
\addplot[thick,color=black] coordinates { (0,0) (20,25) (60,25) };
\addplot[dashed,very thin,color=black] coordinates { (20,0) (20,25) (0,25) };
\addplot[dashed,very thin,color=black] coordinates { (60,0) (60,25) };
\node at (axis cs:13.3,8.3) {$s_1$};
\node at (axis cs:40,12.5) {$s_2$};
\end{axis}
\end{tikzpicture}
\end{document}