我的问题与自动计算并绘制两个图的差异,如果在那个网站上询问如何制作 ab,我问你如何制作图一个/b和一个* b如果你不介意的话也可以一个+b。
答案1
这个答案假设即使你提到自动计算并绘制两个图的差异,您可能对数据格式有更多的自由。
另一个问题的数据格式是......嗯,很复杂,因为坐标集之间没有规范化的直接关系:前 N 行构成第一个图,后 N 行构成第二个图。
如果你有一表和每个图是通过选定的列而不是行,你就拥有极大的自由度。
一个例子(使用其他请求的数据)可能是
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.3} % label placement
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot table[x=x,y expr=\thisrow{a}/\thisrow{b}] {
x a b
1 1 1
2 6 7
3 10 13
4 13 17
5 15 20
};
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}
\begin{axis}
\addplot table[x=x,y=a] {
x a b
1 1 1
2 6 7
3 10 13
4 13 17
5 15 20
};
\end{axis}
\end{tikzpicture}
\end{document}
第一个轴由一个\addplot table[...]
带有内联坐标的语句组成 - 以及三列:x 是明确的,a 和 b 也是如此。组合是使用以下选项完成的:x=x
定义 x 坐标并y expr=...
定义一个数学表达式,其中\thisrow{<colname>}
扩展到一个特定列的值。这允许使用任意数量的列(从“当前”行)来定义任何支持的数学表达式。
第二个轴是一种更简单的方法,它y=a
选择特定的列而不进行任何额外的计算。
简而言之:如果您以合适的格式提供数据(例如,正确规范化的表,其中数据由列标识),您可以轻松应用非常广泛的受支持的数学运算。