各位鄉民大家好,小弟最近在繪圖時遇到一個狀況
以前如果說[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到的數據範例都是很完美的長方形矩陣