[绘图] 如何画出不是对称的矩阵图形?

楼主: dogs1231992 (河豚)   2016-02-05 18:35:30
各位乡民大家好,小弟最近在绘图时遇到一个状况
以前如果说[X,Y]是个长方形数据的话,我可以用mesh+surf等指令轻松绘图
但是现在我遇到一个状况是,我有56522 x 3 的一个矩阵,里面的资料形式类似:
温度 压力 密度
1 1 1
1 2 2
2 2 2
2 3 2
2 4 3
3 2 3
3 3 3
3 4 3
3 5 4
也就是说,X = 1的时候,有2个Y值,X = 2时会变成3个Y值
并不是说每个X都会存在相同数量的Y值
我将数据图用下面这个指令画图的话,可以产生:
x = OUTPUT_97(1:56522,1)';
y = OUTPUT_97(1:56522,2)';
z = OUTPUT_97(1:56522,3)';
plot3(x,y,z)
http://imgur.com/mzDkLJt
这张图的形式就是我所想要的,但是我无法让他依照密度的大小来改变颜色
后来我参考了网络上的指令,改用:
x = OUTPUT_97(1:56522,1)';
y = OUTPUT_97(1:56522,2)';
z = OUTPUT_97(1:56522,3)';
tri=delaunay(x ,y) ;
trisurf(tri,x,y,z,'LineStyle','none')
此时结果变成:
http://imgur.com/xg9BMSd
虽然图形有颜色了,但是本来没有数据的地方反而跑出东西来了
不知道是否有办法解决这个状况?
因为数据没有用成矩阵,因此mesh、surf、surf3等指令都无法使用
希望乡民们能够指点小弟一些方向,google到的数据范例都是很完美的长方形矩阵
作者: ejialan (eji)   2016-02-05 19:41:00
help scatter

Links booklink

Contact Us: admin [ a t ] ucptt.com