24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2026级博士研究生招生报考通知(长期有效)
查看: 3320  |  回复: 9

ehaoba

金虫 (小有名气)

[求助] matlab四维作图,如何用一个颜色表示一个数值范围已有1人参与

我是MATLAB的初学者,之前一点都没有接触过,我有一组数据,前三列分别是XYZ坐标,最后一列是数值,想要用颜色来表示这个数值,但是一个颜色表示一个数值范围。例如说,红色表示280-300,那么在这个范围内的数值就都表现为红色。
能不能帮我写一下程序代码,我基本上不太懂

matlab四维作图,如何用一个颜色表示一个数值范围
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

WanderingHeart

铁杆木虫 (著名写手)

这个可视化有点难啊,即使你能把颜色和数值对应起来画出来的图还得有一定透明度吧,不然怎么看呢?
2楼2016-03-29 11:35:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yourghurt

金虫 (小有名气)

【答案】应助回帖

★ ★
jjdg: 金币+2, 应助指数+1, 感谢参与 2016-03-31 19:41:28
可以使用scatter3函数。比如令a为你的数据矩阵,要画这个图可以使用以下命令:
n=size(a, 1);
scatter3(a(:, 1), a(:, 2), a(:, 3), ones(n, 1)*30, a(:, 4), 'filled');
colorbar;
% scatter(X, Y, Z, S, C)
% X, Y, Z坐标,S是每个点的大小,C是颜色
夜色之浓,莫过于黎明前的黑暗
3楼2016-03-29 12:10:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

r123ed

金虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
人为的加上判断咯 如果是大于某个值,用某种颜色,具体代码楼上有给出的
shape memory
4楼2016-03-29 12:32:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ehaoba

金虫 (小有名气)

引用回帖:
3楼: Originally posted by yourghurt at 2016-03-29 12:10:32
可以使用scatter3函数。比如令a为你的数据矩阵,要画这个图可以使用以下命令:
n=size(a, 1);
scatter3(a(:, 1), a(:, 2), a(:, 3), ones(n, 1)*30, a(:, 4), 'filled');
colorbar;
% scatter(X, Y, Z, S,  ...

出来的只是一些点,我想要一个三维立体图,就是知道一部分数值,再通过插值获得中间的数值,最后得到一个立体图,请问,您有没有什么好的建议?
5楼2016-03-29 20:39:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yourghurt

金虫 (小有名气)

引用回帖:
5楼: Originally posted by ehaoba at 2016-03-29 20:39:04
出来的只是一些点,我想要一个三维立体图,就是知道一部分数值,再通过插值获得中间的数值,最后得到一个立体图,请问,您有没有什么好的建议?...

你可以参考这个帖子
http://www.ilovematlab.cn/thread-167112-1-1.html
夜色之浓,莫过于黎明前的黑暗
6楼2016-03-29 22:25:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ehaoba

金虫 (小有名气)

引用回帖:
6楼: Originally posted by yourghurt at 2016-03-29 22:25:00
你可以参考这个帖子
http://www.ilovematlab.cn/thread-167112-1-1.html...

我想要的是这样的立体图,然后中间有很多slice切片,可以清楚地看到内部的变化情况,您能帮我看一下吗?
matlab四维作图,如何用一个颜色表示一个数值范围-1
X]A%QW_TTVB8RI{`20(X_ND.png

7楼2016-03-30 11:01:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yourghurt

金虫 (小有名气)

引用回帖:
7楼: Originally posted by ehaoba at 2016-03-30 11:01:18
我想要的是这样的立体图,然后中间有很多slice切片,可以清楚地看到内部的变化情况,您能帮我看一下吗?

X]A%QW_TTVB8RI{`20(X_ND.png
...

Matlab 可以画这种图,只要你有相关数据就可以。这里有一些例子可以参考: http://www.mathworks.com/help/matlab/ref/slice.html
但是从你贴的图来看,你的数据不是标准的网格数据;
夜色之浓,莫过于黎明前的黑暗
8楼2016-03-31 07:01:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ehaoba

金虫 (小有名气)

引用回帖:
8楼: Originally posted by yourghurt at 2016-03-31 07:01:53
Matlab 可以画这种图,只要你有相关数据就可以。这里有一些例子可以参考: http://www.mathworks.com/help/matlab/ref/slice.html
但是从你贴的图来看,你的数据不是标准的网格数据;...

但是我看那个帖子上v = x.*exp(-x.^2-y.^2-z.^2);
也就是说v的值和xyz是有一定函数关系的,但是我的值和坐标并非是函数关系,是相互独立的
另外,我的数据的确不是标准的网格数据,但是我想通过插值的方法让它实现,这个您看能行吗?
9楼2016-03-31 08:50:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

勺子商

新虫 (初入文坛)

引用回帖:
9楼: Originally posted by ehaoba at 2016-03-31 08:50:24
但是我看那个帖子上v = x.*exp(-x.^2-y.^2-z.^2);
也就是说v的值和xyz是有一定函数关系的,但是我的值和坐标并非是函数关系,是相互独立的
另外,我的数据的确不是标准的网格数据,但是我想通过插值的方法让它实 ...

楼主现在做好了吗?我也遇到了这样的问题
10楼2018-07-04 10:59:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 ehaoba 的主题更新
信息提示
请填处理意见