No MATLAB, você pode tentar a função da barra de erros : http://www.mathworks.de/de/help/matlab/ref/errorbar.html
Como alternativa, você pode fazê-lo da maneira burra e manual. Por exemplo, dada uma matriz de pontos de dados "a", você pode calcular suas médias usando a função m = média (a), calcular seus ICs (dependendo do IC de que você precisa) e plotar os resultados manualmente.
Demonstração se você já conhece a média e o IC, assumindo que os ICs estão em um IC da matriz (primeira e segunda coluna) e os meios estão em uma matriz a :
plot(1:length(CI),a,'o','markersize', 10) % plot the mean
hold on;
plot(1:length(CI),CI(1,:),'v','markersize', 6) % plot lower CI boundary
hold on;
plot(1:length(CI),CI(2,:),'^','markersize', 6) % plot upper CI boundary
hold on;
for I = 1:length(CI) % connect upper and lower bound with a line
line([I I],[CI(1,I) CI(2,I)])
hold on;
end;
axis([0 length(CI)+1 min(CI(1,:))*0.75 max(CI(2,:))*1.25]) % scale axis
Demonstração no caso em que você conhece medidas individuais, para um experimento de medidas repetidas, mais de 3 condições, uma condição por coluna, um assunto por linha na matriz a, sem amostras ausentes, IC 95% conforme o teste do MATLAB () :
[H,P,CI] = ttest(a); % calculate 95% CIs for every column in matrix a
% CIs are now in the matrix CI!
plot(1:length(CI),[mean(a)],'o','markersize', 10) % plot the mean
hold on;
plot(1:length(CI),CI(1,:),'v','markersize', 6) % plot lower CI boundary
hold on;
plot(1:length(CI),CI(2,:),'^','markersize', 6) % plot upper CI boundary
hold on;
for I = 1:length(CI) % connect upper and lower bound with a line
line([I I],[CI(1,I) CI(2,I)])
hold on;
end;
axis([0 length(CI)+1 min(CI(1,:))*0.75 max(CI(2,:))*1.25]) % scale axis