有人知道使用 tikz 显示神经科学示意图的软件包吗?例如,我想在马尔可夫过程图旁边放置一个光栅图,以帮助解释如何使用马尔可夫模型来模拟神经元的放电。
我知道可以通过在 tikz 图片中加入神经活动图像来实现这一点。但是,我想知道是否有一种只能使用 tikz 的解决方案。
下面是我在 PPT 中制作的版本,诚然,这个版本比较业余。光栅图指的是水平的刻度线。每个刻度都是相同的,标记着神经元发射的位置。
我知道如何使用 tikz 中的自动机库来制作状态图。我想知道是否有比使用 for 循环的蛮力方法更简单的方法来绘制许多水平线。
50 毫秒的样本神经数据(神经元激发的时间,以毫秒为单位):
2,10,12,14,15,20,25,34,35,48, 49
答案1
对于神经元活动部分:
代码
\documentclass[tikz,border=2mm]{standalone}
\usetikzlibrary{arrows}
\usepackage{xifthen}
\begin{document}
\begin{tikzpicture}
%\pgfmathsetseed{42}% or some other number
\foreach \y [count=\c] in {-0.5,-1,...,-2.5}
{ \node[right] at (15.2,\y+0.1) {\scriptsize Subject \c};
\foreach \x in {1,...,300}
{ \pgfmathtruncatemacro{\drawbool}{rand-0.7 > 0 ? 1 : 0}
\ifthenelse{\drawbool=1}
{ \fill (\x/20,\y) rectangle (\x/20+0.05,\y+0.3);}
{}
}
}
\draw[-stealth] (0,0) -- (15.5,0);
\node[right] at (15.5,0.2) {t in ms};
\foreach \x [evaluate=\x as \v using int(20*\x)] in {0,...,15}
{ \draw (\x,-0.05) -- (\x,0.05) node[above] {\v};
}
\end{tikzpicture}
\end{document}