plot multiple variables with different colors

조회 수: 24 (최근 30일)
Jung BC
Jung BC 2016년 12월 12일
댓글: Jung BC 2016년 12월 12일
Hi,
I have 3 variables x,y,z; each of them are double numeric arrays and their size is 1x316(all same size.
I want to plot these 3 variables in a 3D graph using scatter3(or any) function where i need to plot each variable in different colors.
Lets say:
scatter3(x,y,z,'ro','bo','go');
but i am unable to plot these with different colors in a same graph.
Please help!
Thanks in advance!
  댓글 수: 9
Walter Roberson
Walter Roberson 2016년 12월 12일
Please answer my question. Give me a formula for where in 3d x(k),y(k),z(k) should go and what color the resulting point or points should be.
Jung BC
Jung BC 2016년 12월 12일
편집: Jung BC 2016년 12월 12일
Hi Walter,
Sorry for coming back late to you.There is no formula to apply here. Here is the scenario: x, y and z
are the vectors which contain co-ordinates of users (x->Latitude, y->Longitude and z->Altitude)
each of size 1x316. I wanted to plot these vectors altogether in
graph to see how their spatial mean centers orientation looks
like.I tried to plot all those 3 vectors in a same graph, but
most of them overlap and collide each other, so it's difficult to
identify for me whose values are latitudes, whose are longitudes
and whose are altitudes Is there any method that i can interprate these three vectors[x,y,z] i.e.(Latitude,Longitude,Altitude) by plotting in a same axis each with different colors?

댓글을 달려면 로그인하십시오.

채택된 답변

Walter Roberson
Walter Roberson 2016년 12월 12일
Your question is not making the greatest of sense to us, but I will give some possibilities:
1) Same axis as three different variables in different colors and distinct markers
axvec = 1 : length(x);
plot(axvec, x, 'ro', axvec, y, 'g^', axvec, z, 'b+');
2) Same axis as three different variables in different colors but same markers
plot( [x(:), y(:), z(:)], '*')
3) Three-dimensional scattered points, colored with RGB components proportional to the fraction of the way between minimum and maximum. Note: this technique cannot be used with more than 3 variables.
minx = min(x); miny = min(y); minz = min(z);
maxx = max(x); maxy = max(y); maxz = max(z);
xs = (x(:) - minx) ./ (maxx - minx); %scale by portion of the way through the range
ys = (y(:) - miny) ./ (maxy - miny);
zs = (z(:) - minz) ./ (maxz - minz);
cols = [xs, ys, zs]; %build a color table
pointsize = 30;
scatter3(x(:), y(:), z(:), pointsize, cols);
  댓글 수: 1
Jung BC
Jung BC 2016년 12월 12일
Thank you Walter!
My apology for the unclear description of my problem!
Solution (3)just works for me!

댓글을 달려면 로그인하십시오.

추가 답변 (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