写在前面
有时候,看到人家Paper里的图,不禁感叹,为啥连简单的柱状图都画的比我们的好看。这很有可能是我们画图没掌握好技巧,而这些技巧需要我们慢慢去积累。今天搬运了Cognitive and Affective Neuroscience Lab (CANLab, PI: Dr. Tor D. Wager)制作的bar_wani绘图方法,大家赶紧收藏积累吧!
方法:Bar_wani
软件:matlab 2014a
用途:好看、实用、可塑性强的柱状图可视化。
源脚本链接:https://github.com/canlab/Canlab ... alization_functions 找到bar_wani.m(Wani Woo,2014)
源脚本可能有小bug,部分机器存在无限递归现象,可以直接下载修改好的脚本:

% datay = [-0.6518 -0.6934 -0.5417
-0.6496 -0.5946 -0.3839
1.1511 0.9090 1.1681
1.2892 0.9346 ] ; % Y值
e = [0.3226 0.2936 0.3080
0.3203 0.3368 0.3167
0.4026 0.4088 0.4012
0.5586 0.3734 ] ; % 标准误
p = [0.0433 0.0182 0.0785
0.0426 0.0775 0.2255
0.0042 0.0262 0.0036
0.0210 0.0123 ] ; % p值
col = [0 0.1157 0.2686 0.1157 0.2765
0.4725 0.4843 0.1157 0.1078 0.3667
0.4765 0.1353 0.2765 0.1902 0.3824
0.0922 0.4216 0.5118 0.7941 0.3235 ]; % colormap调色
% draw
h = bar_wani(y, e, .8, 'colors', col,'errbar_width', [0 0], 'ast', p, 'ylim', [-2.5 2.5], 'ytick', -2:2, 'ast_adj_x', 0, 'ast_adj_y_neg', .15);
set(gca, 'ytickLabel', num2str(get(gca, 'ytick')'));
set(h, 'position', [1 531 399 169] );
题外话:很多同学看完示例喜欢提问,要画成另一个样子该怎么改。这其实反映了大家在利用脚本进行可视化的过程中,忽略了对原脚本理解的过程,直接“拿来主义”。我们要真正学会可视化,积累是第一步,理解紧随其后,没有理解,我们还是走得不远,因为过度依赖现成的脚本。有了理解,我们可以修改现有的脚本,画出适用于自己实验的图。对于每一次积累,大家都要珍惜,这是前辈们努力和智慧的结晶,需要我们好好体会可视化中的精髓。话糙理不糙,让我们一起加油吧,慢慢来!
那么,试着练习如何用该脚本画出两两比较的柱状图吧,有idea的童鞋可以在留言区讨论。为了让你的可视化技巧提高,千万不要偷懒哦~