How to make this data make sense graphically

I have data that looks like the following:
Columns 1 through 7
0 0 1.0000 1.0000 1.0000 1.0000 1.0000
0 0 1.4082 1.4082 1.4082 1.4082 1.4082
0 0 1.8165 1.8165 1.8165 1.8165 1.8165
0 0 2.2247 2.2247 2.2247 2.2247 2.2247
0 0 2.6330 2.6330 2.6330 2.6330 2.6330
0 0 3.0412 3.0412 3.0412 3.0412 3.0412
0 0 3.4495 3.4495 3.4495 3.4495 3.4495
0 0 3.8577 3.8577 3.8577 3.8577 3.8577
0 0 4.2660 4.2660 4.2660 4.2660 4.2660
0 0 4.6742 4.6742 4.6742 4.6742 4.6742
Columns 8 through 10
1.0000 0 0
1.4082 0 0
1.8165 0 0
2.2247 0 0
2.6330 0 0
3.0412 0 0
3.4495 0 0
3.8577 0 0
4.2660 0 0
4.6742 0 0
Now each number represents how long it takes for an acid to propagate through a plastic. At each point in time, the acid will have taken over that cell, say. 0's here really mean Infinity which means that that cell will never be affected, i.e. is doesn't get dissolved.
I also have this data in 3D, which does the same thing but in the z axis.
Which is the best way to plot this? When I do it with contours (in 3D isosurfaces) it doesn't look nice at all.

4 个评论

You asked this recently and were asked for clarification about the format of the data, but you have not clarified here.
What variable is across the columns?
What variable is down the columns?
Sorry I didn't see the comment.
They are x and y, representing spatial distances.
You didn't see the comments but you were fast to delete the same previous post and re-ask.
Yes, because I didn't get an email I assumed there was no activity, I also felt that it wasn't well worded and had a different focus. Sorry.

请先登录,再进行评论。

回答(1 个)

See if you like the concept:

A = [...
     0 0 1.0000 1.0000 1.0000 1.0000 1.0000	1.0000 0 0
     0 0 1.4082 1.4082 1.4082 1.4082 1.4082	1.4082 0 0
     0 0 1.8165 1.8165 1.8165 1.8165 1.8165	1.8165 0 0
     0 0 2.2247 2.2247 2.2247 2.2247 2.2247	2.2247 0 0
     0 0 2.6330 2.6330 2.6330 2.6330 2.6330	2.6330 0 0
     0 0 3.0412 3.0412 3.0412 3.0412 3.0412	3.0412 0 0
     0 0 3.4495 3.4495 3.4495 3.4495 3.4495	3.4495 0 0
     0 0 3.8577 3.8577 3.8577 3.8577 3.8577	3.8577 0 0
     0 0 4.2660 4.2660 4.2660 4.2660 4.2660	4.2660 0 0
     0 0 4.6742 4.6742 4.6742 4.6742 4.6742	4.6742 0 0];
 szA = size(A);
 A = fix(A*100);
 A = arrayfun(@(x,y) repmat(x,y+1,1), 1:numel(A), A(:).','un',0);
 [x,y] = ind2sub(szA,cat(1,A{:}));
hist3([y,x],{1:10 1:10})
set(get(gca,'child'),'FaceColor','interp','CDataMode','auto');

Oleg

2 个评论

This is good, however I don't know how it'd work when my data's in three dimensions (physically). I'd like the graph to represent what's physically happening.
So it looks like this:
<<http://img535.imageshack.us/img535/5827/testdt.png>>
That is fine, except it only seems to work for that specific data. When I mix it up at bit, or do it in 3D, it goes weird. What you've done there is good for that data as it makes a lot more sense than mine did, but the third dimension (time) in the 2D data should be represented with colour not an extra dimension, so the 3D can be analogous.
http://img535.imageshack.us/img535/5827/testdt.png is the link btw, you apparently can't paste pictures in comments

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Image Processing Toolbox 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by