How to show multiple Y axis on a Parallel Coordinates Plot

10 views (last 30 days)
I am new to matlab and am using a parallel coordinates plot to visualize a 10 dimensional data set. However the standard parallel coords plot only shows one Y axis. I would like to be able show the axis for each of the 10 attributes so total 10 Y axis placed exactly on the X ticks. I am wondering if this requires copying the existing Y axis . Any guidance would be much appreciated

Accepted Answer

Jonathan Epperl
Jonathan Epperl on 30 Oct 2012
It's not totally clear to me what exactly you want, visualizing 10-D data sounds impossible to me. Maybe you should post a minimal example of what your data would look like.
Here's a guess: you have a Nx10 matrix, and you want the values of the i-th column displayed along the i-th y-axis. Then maybe subplot could help you:
M = randi(15,[15 10]) % Create some random data
for i=1:10 % for each column
subplot(1,10,i) % 1 axes down, 10 axes across, axis number i
plot(.5,M(:,i),'*k'); % plot your data in the center
set(gca,'XLim',[0 1],'XTick',[],'YGrid','on'); xlabel(i);
end
The last line with set makes the x-axis go from 0 to 1, so the data is in the center, then gets rid of all the X-Ticks and turns on the grid with constant y-values. Does that point you the right direction?
  4 Comments
ranojoy dutta
ranojoy dutta on 31 Oct 2012
Jonathan
this is great!. thank you .This will defintely take me quite far with what I am trying to do. So then I guess there is no easy way copy the axis multiple times in the parallel coords plot function in Matlab?
the reason why i chose matlab is because the graph is basically going to be an interface to an underlying data mining classifier (decision tree) . I dont think there are many software packages that can handle both visualization and data mining so flexibly.
Ultimately i want to build a GUI that will have a parallel coords plot as a visual interface that will have individual slider controls for each axis so you can slide the values up and down etc. Anyway its a bit of a tall order for me since its only been a month since I started using matlab but i think I am getting there and with helpful people like you i think i will get it done
I will share with you more updates as i progress
thank you
ronny
Actually
Jonathan Epperl
Jonathan Epperl on 31 Oct 2012
Good, I'm glad it goes in the right direction. Afaik, there is no way of just copying the axes, you could only create new ones, what subplot is doing, but then you cannot connect the points in different axes to lines, so that's out.
You might want to look around the File Exchange http://www.mathworks.com/matlabcentral/fileexchange/, where there are quite a lot of nifty tools to tweak plots and so on.
Good luck and report back when you need additional help.

Sign in to comment.

More Answers (0)

Categories

Find more on Line Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!