"J G" wrote in message <j1f7sm$jm$1@newscl01ah.mathworks.com>...
> "matt dash" wrote in message <j1f15j$aae$1@newscl01ah.mathworks.com>...
> > "J G" wrote in message <j1ddsh$o3r$1@newscl01ah.mathworks.com>...
> > > I have a matrix with six columns and n rows. All values are between 0 and 1. By using hist(data) I can see that the columns have some particular properties.
> > > I am wondering if it is at all possible to create a 6simplex/6polytopes, using the six values in each row as coordinates in order to show density (like scatter3, but with six)?
> >
> > Your best bet is a parallel coordinates plot. You can make one with the parallelcoords function if you have the statistics toolbox. Otherwise it's fairly easy to make one using the plot command.
>
> Thanks for your reply. I do have the statistics toolbox and tried using parallelcoords which works. However, because I have so much data it's quite messy... do you know of a way to use this function but only plot the data points (I guess like a dot plot)? I know I can do this using the plot command too, but I have >1000 rows. Thanks.
Well, you can just set the linestyle to "none", but all the points might be indistinguishable. You could also add some jitter in the x direction so they don't all overlap. Here's an example:
load fisheriris
labels = {'Sepal Length','Sepal Width',...
'Petal Length','Petal Width'};
h=parallelcoords(meas,'group',species,'labels',labels);
set(h,'linestyle','none','marker','+')
%add jitter:
for g=1:numel(h)
xdata=(1:4) + 0.05 * randn(1,4);
set(h(g),'xdata',xdata);
end
If you're doing this for use outside of matlab, you might have better luck just sticking with the lines and exporting it at high resolution so that they become more distinct.
