加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

[转载]matlab,origin8 画四维数据(三维+颜色)

(2014-05-23 21:27:28)
标签:

转载

http://s13/middle/453b9efbtbc4fbf2e01bc&690画四维数据(三维+颜色)" TITLE="[转载]matlab,origin8 画四维数据(三维+颜色)" />
经常要画四维离散的数据,貌似可有几种方法。
在matlab中有许多函数可以用,其中slice需要xyz的mesh格点,于是scatter3D更加容易,可以简单利用下列形式
X=[];
y=[];
z=[];
r=[];
scatter3(x,y,z,r,'filled') 即可。

但是利用origin 也可以实现“三维+颜色”的作图。
方法一
1,在origin中导入四列数据,将第三列选中,右键 set as Z value
http://s1/middle/453b9efbtbc4fa0ee3e70&690画四维数据(三维+颜色)" TITLE="[转载]matlab,origin8 画四维数据(三维+颜色)" />

2,菜单 plot- 3D XYZ --3D scatter, 得到三维散点图
3, 点击图画,右键选择 plot details,
在弹出的菜单中选择 fill color---第五个indexing-col(D), 那么D列数据就作为颜色体现在symbol 上。
但是index要求D列数据一般为整数,D列的值指的是同一fill color 选项卡individule color 中第几种颜色,如下图:
http://s8/middle/453b9efbtbc4f9172bd57&690画四维数据(三维+颜色)" TITLE="[转载]matlab,origin8 画四维数据(三维+颜色)" />
例如D列中第一个值为2,指的是红色,如果等于4,指的是blue,以此类推。

于是你如果要显示real值的画,有必要写一个小程序,进行数据分类来选择相应的颜色。例如某处温度如果小于100K大于50K,50<T<100,D(i)=2 用红色等等。


方法二,

http://s8/bmiddle/453b9efbtbc4fb5349897&690画四维数据(三维+颜色)" TITLE="[转载]matlab,origin8 画四维数据(三维+颜色)" />


第3步,改为,以第四列的数据作为symbol的size大小,这与mathematica 8中 BubblePlot 一样效果了。

大家还有什么方法,一起来分享吧!









0

  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有