请帮我制作 IC50 图表,数据如下
S(mM) Activity (%)
0.00080 99 %
0.00800 91 %
0.08000 89 %
0.40000 89 %
0.80000 79 %
1.60000 61 %
4.00000 39 %
8.00000 25 %
80.00000 4 %
并且 IC50 值在图表上以 50% 抑制率出现,曲线拟合线与 EC50 类似。
我从网站上提供了示例(由我修改)http://bpsbioscience.com/poly-adp-ribose-polymerase/inhibitors/xav-939-27100
答案1
正如@Habi 的回答评论中所述,pgfplots
无法对您的数据执行非线性回归。这就是为什么您必须依赖外部工具(我fit
在 中使用了一个快速例程gnuplot
)。
一旦获得了拟合参数,您就可以使用pgfplots
它绘制拟合曲线/函数的图,如下所示:
\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{siunitx}
\DeclareSIUnit\Molar{\textsc{m}} % http://tex.stackexchange.com/a/27618/828
\pgfplotsset{compat=1.6}
\begin{document}
\begin{tikzpicture}
\begin{semilogxaxis}[%
xlabel={S / \si{\milli\Molar}},%
ylabel={\% Activity},%
legend pos=south west,%
legend style={cells={anchor=west}}%
]
\addplot [blue,mark=*,only marks] coordinates {
( 0.00080, 99)
( 0.00800, 91)
( 0.08000, 89)
( 0.40000, 89)
( 0.80000, 79)
( 1.60000, 61)
( 4.00000, 39)
( 8.00000, 25)
(80.00000, 4)
};
\addlegendentry{data};
% add plot of fitted curve with IC50=2.62645 mM (obtained via gnuplot)
% %Activity = max * S / (IC50 + S) + min
\addplot[red,smooth,domain=1e-3:100] { 100 * 2.63645 / (2.63645 + x) };
\addlegendentry{sigmoidal fit}
\end{semilogxaxis}
\end{tikzpicture}
\end{document}
答案2
我想这不是你想要的,是吗?
\documentclass{article}
\usepackage{pgf}
\usepackage{pgfplots}
\usepackage[active,tightpage]{preview}
\usepackage{siunitx}
\DeclareSIUnit\Molar{\textsc{m}} % http://tex.stackexchange.com/a/27618/828
\PreviewEnvironment{tikzpicture}
\begin{document}
\begin{tikzpicture}
\begin{semilogxaxis}[%
xlabel={S [\si{\milli\Molar}]},%
ylabel=Activity%
]
\addplot [smooth,blue,mark=*] coordinates {
( 0.00080, 99)
( 0.00800, 91)
( 0.08000, 89)
( 0.40000, 89)
( 0.80000, 79)
( 1.60000, 61)
( 4.00000, 39)
( 8.00000, 25)
(80.00000, 4)
};
\end{semilogxaxis}
\end{tikzpicture}
\end{document}
最终看起来像这样:
更新:代码已更改以反映发布的示例。