Is it possible to plot a 3D graph with non numerical values?
10 次查看(过去 30 天)
显示 更早的评论
I have a set of values for plotting like
z= {66%,77,78,79,79}
y= {25%,44,67,34,55}
x= { Class1, Class2, Class3, Class4,Class5}
How to plot a 3d graph with with non numeric values like x(along any one axis) in 3D graph? plz help !
0 个评论
回答(3 个)
Bjorn Gustavsson
2019-10-29
The simplest method might be to map your classes to some integer range and then use the standard plotting functions. In your case you could try:
z = [66,77,78,79,79]; % use cell2mat to do this for larger arrays
y = [25,44,67,34,55];
x = {Class1, Class2, Class3, Class4,Class5}
X = [1,2,3,4,5]
xstr = unique({'Class1', 'Class2', 'Class3', 'Class4','Class5'});
scatter3(X,y,z,32,X,'filled')
set(gca,'xtick',X,'xticklabel',xstr)
HTH
0 个评论
Walter Roberson
2019-10-29
编辑:Walter Roberson
2019-10-29
z = [66,77,78,79,79];
y = [25,44,67,34,55];
x = categorical({'Class1', 'Class2', 'Class3', 'Class4', 'Class5'});
pointsize = 32;
scatter3(x, y, z, pointsize, x); %color by category
1 个评论
Bjorn Gustavsson
2019-10-29
For my old version of matlab, it was not allowed to create a categorical array, but the same result could be achieved with:
x = ordinal({'Class1', 'Class2', 'Class3', 'Class4', 'Class5'});
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!