我想要做的是绘制给定数据集的图表。这应该很简单,但我只是不能找到一个简单的解释如何做到这一点...
我有下表(目前没有问题):
\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]
。
我确实加载了pgfplots
和pgfplotstable
包......
答案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
.
.
.
然后使用pgfplots
和pgfplotstable
包。
好的,让我编辑我的答案以反映您编辑的问题:
使用花括号,而不是方括号。此外,在输入文件中使用#
,myx myy
因为它们不是数据。
\begin{tikzpicture}
\begin{axis}
\addplot file{testdata.txt};
\end{axis}
\end{tikzpicture}