将表格与图形并排对齐

将表格与图形并排对齐

我正在尝试将我的 csv 表与图表左侧对齐。图表显示在表格下方(并缩进)。有什么想法吗?

\begin{minipage}{0.5\textwidth}
\pgfplotstabletypeset[col sep=comma,
columns/distance/.style={column name={Col1}, column type={|c|}},
columns/loss/.style={column name = {Col2},column type={c|}},
every head row/.style={before row=\hline},
after row={\hline}
]{graph-data/data.csv}
\end{minipage}

\begin{minipage}{0.5\textwidth}
\begin{tikzpicture}
\begin{axis}[
xlabel = Distance ($m$),
ylabel = Loss ($dB$)]
\addplot table [col sep=comma]{graph-data/data.csv};
\end{axis}
\end{tikzpicture}
\end{minipage}

答案1

正如 Harish Kumar 所说, 之间的空白行minipages会导致开始一个新段落,特别是您会将第二个小页面放在换行符中。他还说您应该%在第一个 之后添加\end{minipage};这意味着两个 之间不会插入额外的水平空间。但是,通常最好添加一些空间以确保它们不会相互抵触,您可以用或我更喜欢 来minipages添加它。\hspace{1cm}\quad

无论哪种方式,宽度总和都应该小于总和\textwidth,以便在环境周围留出额外的空间。此外,您还应将绘图的宽度设置为适合其列:

示例输出

\documentclass{article}

\usepackage{filecontents}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.9}

\begin{filecontents}{data.csv}
distance,loss
10,1
12,5
13,8
15,9
20,10
\end{filecontents}

\begin{document}

\noindent
\begin{minipage}{0.3\textwidth}
  \pgfplotstabletypeset[col sep=comma, columns/distance/.style={column
  name={Distance}, column type={|c|}}, columns/loss/.style={column name =
  {Loss},column type={c|}}, every head row/.style={before row=\hline},
  after row={\hline} ]{data.csv}
\end{minipage}\quad
\begin{minipage}{0.6\textwidth}
  \begin{tikzpicture}
    \begin{axis}[width=\textwidth, xlabel = Distance ($m$), ylabel = Loss ($dB$)]
      \addplot table [col sep=comma]{data.csv};
    \end{axis}
  \end{tikzpicture}
\end{minipage}
\end{document}

当然,将这样的组合放入center环境或浮点中是很常见的。

相关内容