我正在处理 LaTeX 中的一些数据,希望显示直线方程以及趋势线,我发现的大多数来源通常处理从 Excel 文件获取的数据,我的数据已手动输入到 LaTeX 文件中。
\begin{tikzpicture}
\begin{axis}[
title={Kinetic Energy vs Wavenumber},
xlabel={Wavenumber ($\frac{1}{\lambda}$)},
ylabel={$10^{19}$ Kinetic Energy (J)},
xmin=2.00, xmax=4.00,
ymin=0.00, ymax=5.00,
xtick={0.00,2.00,2.50,3.00,3.50,4.00,4.50},
ytick={0.00,0.50,1.00, 1.50, 2.00, 2.50, 3.00, 3.50, 4.00, 4.50},
legend pos=north west,
ymajorgrids=true,
grid style=dashed,
]
\addplot[
color=blue,
mark=square,
]
coordinates {
(2,0.311)(2.22,0.700)(2.50,1.34)(2.86,1.89)(3.33,3.09)(4.00,4.49)
};
\end{axis}
\end{tikzpicture}
这将生成以下图表:
答案1
如果您处理表格,您可能只需绘制表格,而不必手动将数据转换为坐标。然后添加回归线就非常容易了。
\documentclass[tikz,border=3mm]{standalone}
\usepackage{pgfplotstable}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
title={Kinetic Energy vs Wavenumber},
xlabel={Wavenumber ($\frac{1}{\lambda}$)},
ylabel={$10^{19}$ Kinetic Energy (J)},
xmin=2.00, xmax=4.00,
ymin=0.00, ymax=5.00,
xtick={0.00,2.00,2.50,3.00,3.50,4.00,4.50},
ytick={0.00,0.50,1.00, 1.50, 2.00, 2.50, 3.00, 3.50, 4.00, 4.50},
legend pos=north west,
ymajorgrids=true,
grid style=dashed,
]
\addplot[
color=blue,
mark=square,
]
table[col sep=comma] {
lambda,Ekin
2,0.311
2.22,0.700
2.50,1.34
2.86,1.89
3.33,3.09
4.00,4.49
};
\addplot[
color=red,
]
table[col sep=comma,
y={create col/linear regression={y=Ekin}}] {
lambda,Ekin
2,0.311
2.22,0.700
2.50,1.34
2.86,1.89
3.33,3.09
4.00,4.49
};
\end{axis}
\end{tikzpicture}
\end{document}
当然,你也可以直接在宏中加载表格,
\documentclass[tikz,border=3mm]{standalone}
\usepackage{pgfplotstable}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}
\pgfplotstableread[col sep=comma]{
lambda,Ekin
2,0.311
2.22,0.700
2.50,1.34
2.86,1.89
3.33,3.09
4.00,4.49
}{\mytable}
\begin{axis}[
title={Kinetic Energy vs Wavenumber},
xlabel={Wavenumber ($\frac{1}{\lambda}$)},
ylabel={$10^{19}$ Kinetic Energy (J)},
xmin=2.00, xmax=4.00,
ymin=0.00, ymax=5.00,
xtick={0.00,2.00,2.50,3.00,3.50,4.00,4.50},
ytick={0.00,0.50,1.00, 1.50, 2.00, 2.50, 3.00, 3.50, 4.00, 4.50},
legend pos=north west,
ymajorgrids=true,
grid style=dashed,
]
\addplot[
color=blue,
mark=square,
]
table \mytable;
\addplot[
color=red,
]
table[y={create col/linear regression={y=Ekin}}] \mytable
node[pos=0.5,sloped,above]{$E_\mathrm{kin}\simeq
\pgfmathprintnumber{\pgfplotstableregressiona}\cdot10^{19}\,\mathrm{J}/\lambda$};
\end{axis}
\end{tikzpicture}
\end{document}
或者直接从文件中绘制数据。