Me enfrento a un problema extraño al generar un gráfico de barras en pgfplots. En mi gráfico tengo muchas etiquetas en el eje x, que intento rotar 90 grados usando el comando xticklabel style={rotate=90,anchor=east}
. El problema es que, en lugar de solo rotar las etiquetas, esto en realidad da como resultado que la página gire 90 grados.
Como ejemplo mínimo, considere el siguiente código que ejecuté al dorso.
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.15}
\usepgfplotslibrary{statistics}
\begin{document}
\pgfplotsset{width=12cm, height=10cm}
\begin{figure}[htb!]
\centering
\begin{tikzpicture}
\begin{axis}
[
axis y line=left,
axis x line*=bottom,
ymajorgrids,
ymax = 35,
ymin=0,
xmin= 0,
xmax=10,
x tick label style={font=\tiny},
xtick align=outside,
xtick=data,
xticklabels from table={data.txt}{group},
xticklabel style={rotate=90,anchor=east}
]
\addplot+[
ybar,
bar width=3pt,
mark=none,
color=blue,
fill=blue
] table[x=id,y=val] {data.txt};
\end{axis}
\end{tikzpicture}
\caption{Caption}
\label{fig:label}
\end{figure}
\end{document}
El archivo datos.txt:
id group val
1 DSDSJ 26.0
2 ABSDS 26.0
3 BB 31.0
4 CCCCC 25.0
5 DDDDS 21.0
6 DDDDD 19.0
7 DDDDD 19.0
8 DDDDD 19.0
Esto da como resultado lo siguiente:
Tenga en cuenta que toda la página del pdf se muestra girada. ¿Tiene alguna idea de por qué sucede esto y cómo solucionarlo?
Gracias de antemano.
Respuesta1
solo necesitas definir
x tick label style={font=\tiny,rotate=90,anchor=east},
eso xticklabel style={rotate=90,anchor=east}
es falso.
\RequirePackage{filecontents}
\begin{filecontents}{data.dat}
id group val
1 DSDSJ 26.0
2 ABSDS 26.0
3 BB 31.0
4 CCCCC 25.0
5 DDDDS 21.0
6 DDDDD 19.0
7 DDDDD 19.0
8 DDDDD 19.0
\end{filecontents}
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.15}
\usepgfplotslibrary{statistics}
\begin{document}
\pgfplotsset{width=12cm, height=10cm}
\begin{figure}[htb!]
\centering
\begin{tikzpicture}
\begin{axis}
[
axis y line=left,
axis x line*=bottom,
ymajorgrids,
ymax = 35,
ymin=0,
xmin= 0,
xmax=10,
x tick label style={font=\tiny,rotate=90,anchor=east},
xtick align=outside,
xtick=data,
xticklabels from table={data.dat}{group},
]
\addplot+[
ybar,
bar width=3pt,
mark=none,
color=blue,
fill=blue
] table[x=id,y=val] {data.dat};
\end{axis}
\end{tikzpicture}
\caption{Caption}
\label{fig:label}
\end{figure}
\end{document}