function scatterbar(x,y,z,scale)
% 根据散点数据绘制3维彩色柱状图
% scatterbar(x,y,z,scale) x,y,z是实值数组,用来指定柱子顶面中心点三维坐标。
% scale是大于0的标量,用来指定柱子的粗细,scale越大,柱子越细,默
% 认情况下根据坐标点自动计算柱子的粗细。
%
% CopyRight:xiezhh(谢中华)
% 2011.10.31
% Example:
% [x,y] = meshgrid(-6:6,-3:0.5:3);
% z = mvnpdf([x(:),y(:)],[0,0],[4,0;0,1]);
% scatterbar(x,y,z)
% scatterbar(x,y,z,50);
% 输入参数类型判断
if nargin < 3
error('至少需要三个输入参数');
end
if ~isreal(x) || ~isreal(y) || ~isreal(z)
error('前三个输入应为实值数组');
end
% 提取x,y,z等长部分的元素
x = x(:);
y = y(:);
z = z(:);
n = min([numel(x) numel(y) numel(z)]);
x = x(1:n);
y = y(1:n);
z