\begin{figure}[h]
\begin{minipage}[b]{0.5\linewidth}
\centering
\begin{tikzpicture}
\begin{axis}
[name=plot, ymin=0,ymax=3,xmin=0,xmax=1,
xlabel = $L$,
ylabel = {$T$},
legend pos=north west,
scatter/classes={%
a={mark=o,draw=black}}]
\addplot[scatter,only marks,%
scatter src=explicit symbolic]%
table[meta=label] {
x y label
0.650 1.6 a
0.606 1.56 a
0.581 1.54 a
0.555 1.51 a
0.526 1.47 a
0.502 1.4 a
};\label{puntos}
]
\addplot [
color=red,
]
{-6.2065*x^2+8.4139*x-1.251};\label{Func}
\end{axis}
\node[anchor=north west, draw=black, fill=white] (legend) at (plot.north west) {\begin{tabular}{l l}
Ajuste & \ref{Func}\\
Datos & \ref{puntos}
\end{tabular}};
\end{tikzpicture}
\end{minipage}
\hspace{0.5cm}
答案1
我猜你指的是二次函数图?pgfplots
函数图的默认设置是计算 -5:5 范围内的 25 个样本,这意味着当你设置时xmin=0, xmax=1
,你只会得到该范围内的三个样本点。默认情况下,pgfplots
在每个样本点之间绘制直线,这样你就可以得到图中看到的结果。
这里要注意的两个主要参数是domain
设置计算函数值的范围,以及samples
设置该范围内(等距)采样点的数量。
对于你的情况,如果你这样做
\addplot [
color=red,
domain=0:1
]
{-6.2065*x^2+8.4139*x-1.251};
这样就可以得到从零到一的 25 个样本点,其图表如下所示:
如果这还不够顺畅,您可以添加例如samples=50
。