【问题标题】:Displaying 3-D scatter plot w/ Color Dependent on Data显示 3D 散点图,颜色取决于数据
【发布时间】:2011-10-19 15:30:30
【问题描述】:

我收集了大量数据,我想在 3-D 散点图中显示这些数据。数据包含在一个文本文件中。

数据是这样组织的

1 1 1 10.8
2 1 1 3.4
4 1 1 6.1
8 1 1 4.5
1 2 1 7.8
...
8 8 8 11.9

每行中的前三个标记应代表 (x,y,z) 点。在 3-D 散点图中,每个点都应该有一个点。

点的颜色取决于第四个标记。基本上,第四个参数越接近最大值,它就越接近红色。第四个参数越接近最小值,越蓝。

我很确定 scatter3(X,Y,Z,S,C) 函数可以做到这一点,但我不是专家。

这是我的数据变量包含的内容:

【问题讨论】:

    标签: matlab plot scatter-plot


    【解决方案1】:

    试试这个(假设 data 是您在问题中提出的数组):

    x = data(:,1);
    y = data(:,2);
    z = data(:,3);
    s = ones(size(data,1), 1) * 20; %sizes of markers
    c = data(:,4); %color data
    
    scatter3(x,y,z,s,c);
    colorbar;
    

    或者你可以简单地内联:

    scatter3(data(:,1),data(:,2),data(:,3),ones(size(data,1), 1)*20,data(:,4));
    colorbar
    

    【讨论】:

    • 不错。只需要一处改动:ones(size(data,1)) --> ones(size(data,1), 1)
    • @Phonon 不起作用。 x、y、z 和 c 包含一个 Mx1 元素数组,其中 c 包含浮点数,x,y,z 包含整数。你确定这些是正确的参数吗? Matlab 在调用 scatter3 函数的行给我一个错误。
    • @Phonon 它仍然不起作用。我有我的数据变量包含的屏幕截图。也许您误解了我是如何组织数据的。
    • @seljuq70 我确实误会了。将在一分钟内确定答案。
    • @Phonon 明白了,小调整,但您的解决方案适用于其他所有人。
    猜你喜欢
    • 2018-09-12
    • 1970-01-01
    • 1970-01-01
    • 2021-08-23
    • 2020-05-29
    • 2019-05-14
    • 2013-08-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多