我需要平滑这两个角。我想制作化学酸度测定图。现在它看起来像这样:
我需要更多类似的东西:
\begin{tikzpicture}
\begin{axis}[
xmin={[normalized]-1.7},
minor tick num=1,
grid = minor,
grid style={ultra thin, dashed, gray!50},
xmin=0, xmax=25, ymin=0, ymax=14,
xtick={0,5,10,15,20,25}, ytick={0,2,4,6,8,10,12,14},
xlabel={$V_{{tit}}~\mathrm{(cm^3)}$}, ylabel={pH}]
\addplot [blue,name path=B,smooth] table {
x y
0 13
2.5 12.85
5 12.7
7.5 12.5
10 12.3
12.1 12.1
12.5 7
12.8 2.7
15 2.5
17.5 2.35
20 2.15
22.5 2.05
25 2
};
\end{axis}
\end{tikzpicture}
答案1
首先,我不太懂化学。话虽如此,作为近似值,我会寻找如下函数
y=a+b*log(c±x)
然后我们可以使用图中的某些点(平衡点、初始值和最终值、表中的一些其他数据......)找到常数 a、b、c。
类似这样的(可能需要更多调整):
\documentclass[border=1.618mm]{standalone}
\usepackage{pgfplots}
\usepackage{siunitx}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
minor tick num=1,
grid = minor,
grid style={ultra thin, dashed, gray!50},
xmin=0, xmax=25, ymin=0, ymax=14,
xtick={0,5,...,25}, ytick={0,2,...,14},
xlabel={$V_{\text{tit}}$ (\unit{cm^3})}, ylabel={pH}]
\addplot [blue,smooth] table {
x y
0 13
2.5 12.85
5 12.7
7.5 12.5
10 12.3
12.1 12.1
12.5 7
12.8 2.7
15 2.5
17.5 2.35
20 2.15
22.5 2.05
25 2
};
\addplot[red,thick,samples=100,domain=0:12.5004] {11.05+1.78*log10(12.51-\x};
\addplot[red,thick,samples=100,domain=12.4996:25] {3.95-1.78*log10(\x-12.49};
\end{axis}
\end{tikzpicture}
\end{document}