tikzpicture - выровнять столбчатую диаграмму по оси Y с ymin = 0 - PullRequest
1 голос
/ 14 марта 2019

Я пытаюсь выстроить столбчатую диаграмму с выравниванием по оси Y на tikzpicture.

\begin{tikzpicture}
\begin{axis}[
    ybar stacked,
    bar width=15pt,
    ymin=29,
    nodes near coords,
    enlargelimits=0.15,
    legend style={at={(0.5,-0.15)},
      anchor=north,legend columns=-1},
    ylabel={Seconds (s)},
    symbolic x coords={t1, t2, t3, t4},
    xtick=data,
    x tick label style={rotate=45,anchor=east},
    ]
    \addplot+[ybar] plot coordinates {(t1, 143) (t2, 203) (t3, 174) (t4, 188)};
    \addplot+[ybar] plot coordinates {(t1, 34) (t2, 36) (t3, 39) (t4, 35)};
  \legend{\strut S1,\strut  S2}
  \end{axis}
\end{tikzpicture}

enter image description here

Как видно, я использовал ymin, чтобы заставить его быть близко к оси y, но он не выглядит идеально.Кроме того, я хочу быть в состоянии автоматизировать это, так как у меня есть много цифр, которые нуждаются в этой конфигурации, и выполнение этого вручную требует времени.

1 Ответ

0 голосов
/ 15 марта 2019

С ymin=0 и без дополнительного увеличения этого лимита:

\documentclass{article}

\usepackage{pgfplots}

\begin{document}


\begin{tikzpicture}
\begin{axis}[
    ybar stacked,
    bar width=15pt,
    ymin=0,
    nodes near coords,
%    enlargelimits=0.15,
    legend style={at={(0.5,-0.15)},
      anchor=north,legend columns=-1},
    ylabel={Seconds (s)},
    symbolic x coords={t1, t2, t3, t4},
    xtick=data,
    x tick label style={rotate=45,anchor=east},
    ]
    \addplot+[ybar] plot coordinates {(t1, 143) (t2, 203) (t3, 174) (t4, 188)};
    \addplot+[ybar] plot coordinates {(t1, 34) (t2, 36) (t3, 39) (t4, 35)};
  \legend{\strut S1,\strut  S2}
  \end{axis}
\end{tikzpicture}

\end{document}
...