显示颜色取决于数据的 3D 散点图

发布于 2024-12-10 15:59:09 字数 418 浏览 1 评论 0原文

我收集了大量数据,希望将其显示在 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) 函数可以做到这一点,但我不是专家。

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

Data Variable

I have a large set of data that I've collected that I'd like to display in a 3-D scatter plot. The data is contained in a text file.

The data is organized like so

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

The first three tokens in each line should represent (x,y,z) points. In the 3-D scatter plot, there should be a dot for each of these points.

The color of the dots depends on the fourth token. Basically, the closer the fourth parameter is to the max value, the closer it will be to the color red. The close the fourth parameter is to the min value, the bluer it will be.

I'm pretty sure that the scatter3(X,Y,Z,S,C) function does this, but I'm not an expert.

Here's what my data variable contains:

Data Variable

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

橪书 2024-12-17 15:59:09

试试这个(假设 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

Try this (assume data is the array you presented in your question):

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;

Or you can simply do it inline:

scatter3(data(:,1),data(:,2),data(:,3),ones(size(data,1), 1)*20,data(:,4));
colorbar
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文