我如何从表格生成图表?

我如何从表格生成图表?

我想要做的是绘制给定数据集的图表。这应该很简单,但我只是不能找到一个简单的解释如何做到这一点...

我有下表(目前没有问题):

\begin{table}
\centering
\begin{tabular}{|c|c|}
\hline % Horizontal overbar
X & Y \\\hline
0 & 0 \\
1 & -40.0975460694 \\
2 & -46.1181459826 \\
3 & -49.6399711638 \\
4 & -52.1387458959 \\
5 & -54.0769461561 \\
6 & -55.660571077 \\
7 & -56.9995068696 \\
8 & -58.1593458092 \\
9 & -59.1823962581 \\
10 & -60.0975460694 \\
\end{tabular}
\caption{An example table.}
\end{table}

我想绘制第二列数据与第一列数据的关系图。我该怎么做?

编辑

\begin[tikzpicture]
\begin[axis]
\addplot table[x = MyX] from testdata.txt;
\addplot table[y = MyY] from testdata.txt;
\end[axis]
\end[tikzpicture]

测试数据.txt

MyX MyY
0   0
1   -40.0975460694
2   -46.1181459826
3   -49.6399711638
4   -52.1387458959
5   -54.0769461561
6   -55.660571077
7   -56.9995068696
8   -58.1593458092
9   -59.1823962581
10  -60.0975460694

我收到一个错误:bad math environment在包含的行上\begin[axis]

我确实加载了pgfplotspgfplotstable包......

答案1

组合 »pgf图“ 和 ”pgfplotstable“ 你的朋友在这里。和 一起 ”大批“ 和 ”书签“为了增强格式,您会得到一个漂亮的表格和一个漂亮的图表。

优点是,如果您修改了数据文件,表格和图表中都会反映出修改内容。当然,还可以进行进一步的自定义(请参阅软件包手册)。

\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{caption}

\usepackage{pgfplotstable}
\pgfplotstableset{
  empty cells with={---},
  every head row/.style={before row=\toprule,after row=\midrule},
  every last row/.style={after row=\bottomrule}
}
\pgfplotsset{compat=1.9}

\usepackage{array,booktabs}

\usepackage{filecontents}
\begin{filecontents*}{data.txt}
X Y
0 0
1 -40.0975460694
2 -46.1181459826
3 -49.6399711638
4 -52.1387458959
5 -54.0769461561
6 -55.660571077
7 -56.9995068696
8 -58.1593458092
9 -59.1823962581
10 -60.0975460694
\end{filecontents*}

\begin{document}
  \begin{table}[!ht]
    \caption{Data table}
    \label{tab:data}
    \centering
    \pgfplotstabletypeset[
      sci zerofill,
      precision=3,
      columns/X/.style={column type=r},
      columns/Y/.style={dec sep align}
    ]{data.txt}
  \end{table}

  \begin{figure}[!ht]
    \centering
    \begin{tikzpicture}
      \begin{axis}
        \addplot table {data.txt};
      \end{axis}
    \end{tikzpicture}
    \caption{Data plot}
    \label{fig:data}
  \end{figure}
\end{document}

这 ”文件内容« 包及其相应的filecontents*环境仅用于创建数据文件,以使此示例自成一体。实际文档中不需要它们。


在此处输入图片描述在此处输入图片描述

答案2

使用仅包含数字的输入文件

0 0
1 -40.0975460694
.
.
.

然后使用pgfplotspgfplotstable包。

好的,让我编辑我的答案以反映您编辑的问题:

使用花括号,而不是方括号。此外,在输入文件中使用#myx myy因为它们不是数据。

\begin{tikzpicture}
\begin{axis}
\addplot file{testdata.txt};
\end{axis}
\end{tikzpicture}

相关内容