Ошибка гистограммы в Tikzpicture
Я не знаю, почему данные по оси X за прыжки. Понятия не имею.
\documentclass[varwidth=true, border=2pt]{standalone} \usepackage{pgfplots}\begin{document}
\begin{tikzpicture}
\begin{axis}[
symbolic x coords={Coke-Classic,Diet Coke, Dr.Peppre,Pepsi Cola,Sprite,},
xtick=data
]
\addplot[ybar,fill=blue] coordinates {
(Coke-Classic, 38)
(Diet Coke, 16)
(Dr.Peppre, 10)
(Pepsi Cola, 26)
(Sprite, 10)
};
\end{axis}
\end{tikzpicture} \end{document}
1 ответ
Решение
Есть два возможных решения, которые пришли мне в голову. Оба относительно просты (нужно добавить только одну строку):
Решение 1
Чтобы избежать наложения х-меток, вы можете явно определить размер одной х-единицы:
\documentclass[varwidth=true, border=2pt]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
symbolic x coords={Coke-Classic,Diet Coke, Dr.Peppre,Pepsi Cola,Sprite,},
xtick=data,
x=2cm
]
\addplot[ybar,fill=blue] coordinates {
(Coke-Classic, 38)
(Diet Coke, 16)
(Dr.Peppre, 10)
(Pepsi Cola, 26)
(Sprite, 10)
};
\end{axis}
\end{tikzpicture}
\end{document}
Единственное, что я изменил, это добавление x=2cm
на ось-варианты.
Результат выглядит следующим образом:
Решение 2
Решение выше увеличивает ширину участка. Если вы не хотите этого, вы можете вместо этого повернуть метки:
\documentclass[varwidth=true, border=2pt]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
symbolic x coords={Coke-Classic,Diet Coke, Dr.Peppre,Pepsi Cola,Sprite,},
xtick=data,
xticklabel style={rotate=45}
]
\addplot[ybar,fill=blue] coordinates {
(Coke-Classic, 38)
(Diet Coke, 16)
(Dr.Peppre, 10)
(Pepsi Cola, 26)
(Sprite, 10)
};
\end{axis}
\end{tikzpicture}
\end{document}
Здесь я только заменил x=2cm
с xticklabel style={rotate=45}
(45 - это угол поворота, вы можете использовать любой другой угол, просто используйте то, что вы считаете наиболее подходящим).