24小时热门版块排行榜    

查看: 478  |  回复: 2

myw052

金虫 (正式写手)

博士

[求助] Matlab 绘图

我想用matlab绘制一个柱状图,但是没能实现。下面描述下我的问题,希望版主和各位达人出来帮下忙。

现有一数组A,A为3列n行。第一列A(:,1)代表X值,第二列A(:,2)代表Y值,第三列A(:,3)代表z值。
如果绘制散点图的话,绘制出来的是在空间分布的点。容易做到。

我现在想做的是绘制垂直于xy平面的圆柱群,就是用圆柱代替散点图中的散点,x表示圆柱所在中心点的x坐标,y代表圆柱所在中心点的y坐标,z代表圆柱的高度坐标。

我曾经尝试用bar3,bar3h,甚至hist等命令来实现这个想法,但是似乎这些命令都表达的不是这个意思。
不知各位有什么看法?

举例:A=[1,2,3,4;5,4,2,3;2,3,4,5];
绘制A所示的柱状群。
回复此楼
天天快乐
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dbb627

荣誉版主 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
myw052: 金币+5, ★★★★★最佳答案, 版主,厉害。不过后面的,x=A(1,:)'有点小问题,改过来就ok了。 2012-03-31 10:46:21
非得用圆柱吗?方柱行吗?
CODE:
    function scatterbar(x,y,z,scale)
    % 根据散点数据绘制柱状图
    % x,y,z是等长的向量
        hx = range(x)/scale;
        hy = range(y)/scale;
        n = numel(x);

        figure
        hold on
        for i = 1:n
            vert = Vertices(x(i),y(i),z(i));
            %规定顶点顺序
            fac = [1 2 3 4;2 6 7 3;4 3 7 8;1 5 8 4;1 2 6 5;5 6 7 8];
            %通过patch对象生成蓝色的立方体盒子
            h = patch('faces',fac,'vertices',vert,'FaceColor','b');
            %set(h,'FaceAlpha',0.25);    %设置立方体盒子透明度
        end
        grid on
        view(3)
        hold off

        %--------------------------------------------------
        % 求柱子顶点的子函数
        %--------------------------------------------------
        function Ver = Vertices(x,y,z)
            % 由长方体底面中心坐标求顶点坐标
            Ver = [x-hx y-hy 0
                x-hx y+hy 0
                x+hx y+hy 0
                x+hx y-hy 0
                x-hx y-hy z
                x-hx y+hy z
                x+hx y+hy z
                x+hx y-hy z];
            end
    end

A=[1,2,3,4;5,4,2,3;2,3,4,5];
x=A(1:,)';
y=A(2:,)';
z=A(3:,)';
scatterbar(x,y,z,20)
The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
2楼2012-03-30 22:34:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

myw052

金虫 (正式写手)

博士

多谢,版主了。
真给力,多谢了。
天天快乐
3楼2012-03-31 10:45:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 myw052 的主题更新
信息提示
请填处理意见