Я столкнулся со странной проблемой при создании столбчатой диаграммы в pgfplots. В моей диаграмме много меток на оси x, которые я пытаюсь повернуть на 90 градусов с помощью команды xticklabel style={rotate=90,anchor=east}
. Проблема в том, что вместо того, чтобы просто повернуть метки, это фактически приводит к повороту страницы на 90 градусов.
В качестве минимального примера рассмотрим следующий код, который я запустил на обороте.
\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}
Файл data.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
Это приводит к следующему:
Обратите внимание, что вся страница pdf отображается перевернутой. Есть ли у вас какие-либо идеи, почему это происходит и как это исправить?
Заранее спасибо.
решение1
вам нужно определить только
x tick label style={font=\tiny,rotate=90,anchor=east},
является xticklabel style={rotate=90,anchor=east}
ложным.
\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}