Skip to content

可视化模块

btorch.visualisation 模块为神经仿真分析提供了绘图函数。

模块

timeseries.py

脉冲和连续数据的时间序列可视化。

函数 描述
plot_raster 具有分组、样式设置、事件、区域和轨道显示的脉冲光栅图 (Spike raster)
plot_traces 连续轨迹(电压、电流)
plot_spectrum 频谱(Welch 方法)
plot_grouped_spectrum 按神经元组进行频谱分析
plot_log_hist 双对数直方图
plot_neuron_traces 多面板神经元状态图(电压、ASC、PSC)

数据类 (Dataclasses): - NeuronSpec: 单个神经元样式(颜色、标记、线型) - SimulationStates: 仿真数据容器 - TracePlotFormat: 图形格式化选项


dynamics.py

多尺度动力学分析可视化。

函数 描述
plot_multiscale_fano 跨时间窗口的 Fano 因子
plot_dfa_analysis 去趋势波动分析 (DFA)
plot_isi_cv ISI 变异系数
plot_avalanche_analysis 雪崩规模/持续时间分布
plot_eigenvalue_spectrum 权重矩阵特征值谱
plot_lyapunov_spectrum Lyapunov 指数谱
plot_firing_rate_distribution 放电率直方图

数据类 (Dataclasses): - DynamicsData: 脉冲数据容器 - DynamicsPlotFormat: 可视化模式(个体/分组/分布) - FanoFactorConfig: Fano 分析参数 - DFAConfig: DFA 参数


hexmap.py

使用 Plotly 的六边形热图可视化。

函数 描述
hex_heatmap 带有时间序列滑块的交互式六边形网格热图

aggregation.py

分组分布和神经毯 (neuropil) 时间序列可视化。

函数 描述
plot_group_distribution 通用分组绘图 API,支持 violinboxecdf
plot_group_violin 分组小提琴图便捷封装
plot_group_box 分组箱线图便捷封装
plot_group_ecdf 分组 ECDF 图便捷封装
plot_neuropil_timeseries_overview 波形/热图风格的聚合神经毯概览
plot_neuropil_timeseries_panels 用于详细对比的区域级子图网格

使用示例

from btorch.visualisation.timeseries import plot_raster, plot_neuron_traces, NeuronSpec

# 基础光栅图
plot_raster(spikes, dt=0.1, marker="|", markersize=5)

# 带颜色的分组光栅图
plot_raster(
    spikes,
    neurons_df=df,
    group_by="cell_type",
    color={"excitatory": "red", "inhibitory": "blue"},
    show_separators=True,
    events=[100, 200],  # 事件标记
    regions=[(50, 80)],  # 阴影区域
    show_tracks=True,
)

# 具有单个神经元样式的神经元轨迹
specs = [NeuronSpec(color="red"), NeuronSpec(color="blue")]
plot_neuron_traces(voltage=V, dt=0.1, neuron_specs=specs)