How to show multiple Y axis on a Parallel Coordinates Plot

16 次查看(过去 30 天)
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

采纳的回答

Jonathan Epperl
Jonathan Epperl 2012-10-30
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 个评论
ranojoy dutta
ranojoy dutta 2012-10-31
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 2012-10-31
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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 2-D and 3-D Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by