我想绘制两条曲线(x^5
),但一条使用域50-140
,另一条仅使用特定点。
以下是代码:
\begin{figure}[!h]
\centering
\caption{Gráfico (c)}
\begin{tikzpicture}
\begin{axis}[xlabel = Entrada(n),ylabel = Tempo(s), samples at={50,55,60,...,145,150}]
\addplot[color=red,mark=x]coordinates {
(50, 4.991e+000)
(70, 2.704e+001)
(100, 1.717e+002)
(120, 4.696e+002)
(140, 8.876e+002)
};
\addplot[blue,thick]{(x)^(5)};
\legend{Estimado,Modelo}
\end{axis}
\end{tikzpicture}
\end{figure}
答案1
首先,对于这种情况,您不需要samples at={50,55,60,...,145,150}
。一旦删除它,您就可以使用domain
键来绘图。
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xlabel = Entrada(n),ylabel = Tempo(s), %samples at={50,55,60,...,145,150}
]
\addplot[color=red,mark=x]coordinates {
(50, 4.991e+000)
(70, 2.704e+001)
(100, 1.717e+002)
(120, 4.696e+002)
(140, 8.876e+002)
};
\addplot[blue,thick,domain=50:140]{(x)^(5)};
%\legend{Estimado,Modelo}
\end{axis}
\end{tikzpicture}
\end{document}
我已经删除了图例,只是为了显示图表的端点。
y
红线的值与蓝线的值相比太小。因此红线看起来与蓝线呈线性关系。y scale
事情的发生过程如下:
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xlabel = Entrada(n),ylabel = Tempo(s), %samples at={50,55,60,...,145,150}
]
\addplot[color=red,mark=x]coordinates {
(50, 4.991e+000)
(70, 2.704e+001)
(100, 1.717e+002)
(120, 4.696e+002)
(140, 8.876e+002)
};
\addplot[blue,thick,restrict y to domain={0:1000}]{(x)^(5)};
\legend{Estimado,Modelo}
\end{axis}
\end{tikzpicture}
\end{document}
您还可以阅读pgfplots
手册第 337 页以获取有关限制域的更多信息。