如何使用 tikzpictures 执行 \flushleft 和 \flushright

如何使用 tikzpictures 执行 \flushleft 和 \flushright

我有两个图表,一个用 绘制pgfplots,另一个用 绘制pgf-pie。我想将这两个图表水平对齐,因此一个在左边,另一个在右边。我读过使用 flushleft 和 flushright 对齐,但似乎这个minipage技巧对我来说不起作用。

这是一个例子。我以为这两个图表是并排的,但事实并非如此。关于宽度其中minipage,我尝试了很多值。也许我理解得不正确。

\begin{minipage}{0.5 \linewidth}
\begin{flushleft}
\begin{tikzpicture}
  \begin{axis}[
    title=\# of players in a class,
    ybar,
    %enlargelimits=0.15,
    legend style={at={(0.5,-0.2)},
      anchor=north,legend columns=-1},
    ylabel={Population},
    symbolic x coords={Warrior,Wizard,Archer},
    xtick=data,
    nodes near coords,
    nodes near coords align={vertical},
    x tick label style={rotate=45,anchor=east},
  ]
    \addplot coordinates {(Warrior,100) (Wizard,100) (Archer,200)};
  \end{axis}
\end{tikzpicture}
\end{flushleft}
\end{minipage}

\begin{minipage}{0.5 \linewidth}
\begin{flushright}
Ratio of players in a class
\begin{tikzpicture}
  \pie{ 25/ \textsc{Warrior} , 25/ \textsc{Wizard} , 50/ \textsc{Archer} }
\end{tikzpicture}
\end{flushright}
\end{minipage}

答案1

这个minipage技巧仍然有效,但是

  1. 你在小页面之间留有多余的空格(和一个段落!),所以它们不会并排出现,
  2. 这些数字太大,宽度的盒子无法容纳0.5\linewidth

修复问题 1:删除换行符并在行尾添加注释以抑制虚假空格。您还需要在链接的解决方案中添加 as \hfillminipages

修复问题 2:您可以调整环境width中的键axis来更改图表的大小。您还可以使用选项scaletikzpicture调整饼图的大小。

\documentclass{article}
\usepackage{pgfplots,pgf-pie,lipsum}
\pgfplotsset{compat=1.10}
\fboxsep=0pt % just for showing minipage size

\begin{document}\noindent
\fbox{% just to show minipage size
\begin{minipage}[b]{0.45 \linewidth}% just slightly shrunk to show the separation
\begin{flushleft}
\begin{tikzpicture}
  \begin{axis}[
    title=\# of players in a class,
    ybar,
    width=5cm, % adjust here
    enlargelimits=0.25,
    legend style={at={(0.5,-0.2)},
      anchor=north,legend columns=-1},
    ylabel={Population},
    symbolic x coords={Warrior,Wizard,Archer},
    xtick=data,
    nodes near coords,
    nodes near coords align={vertical},
    x tick label style={rotate=45,anchor=east},
  ]
    \addplot coordinates {(Warrior,100) (Wizard,100) (Archer,200)};
  \end{axis}
\end{tikzpicture}
\end{flushleft}
\end{minipage}}\hfill%
\fbox{% just to show minipage size
\begin{minipage}[b]{0.45 \linewidth}% just slightly shrunk to show the separation
\begin{flushright}
Ratio of players in a class
\begin{tikzpicture}[scale=0.5]% adjust scale parameter
  \pie{ 25/ \textsc{Warrior} , 25/ \textsc{Wizard} , 50/ \textsc{Archer} }
\end{tikzpicture}%
\end{flushright}%
\end{minipage}}%

\lipsum[1-2] % just to show margins
\end{document}

在此处输入图片描述

您可以删除\fboxes 以供自己使用;我只是在这里使用它们来显示 s 的大小minipage

相关内容