How to delete the lines between data points in colormap

조회 수: 2 (최근 30일)
Yachao Chen
Yachao Chen 2017년 11월 6일
댓글: Walter Roberson 2017년 11월 7일
I have been facing this problem that when I do colormap, there are always lines between my data points. I don't know how to efficiently let them gone. I have tried "shading interp' and 'linestyle','none', but none of them work. I have my figure looks like down below, and my code is like:
custom_colormap = [
0 0 1 ; ... %// blue
0 1 0 ; ... %// green
1 1 0 ; ... %// yellow
1 .5 0 ; ... %// orange
1 0 0 ; ... %// red
] ;
figure(1);
box on;
xx=[Sc_frac Sc_frac];
yy=[B_frac B_frac];
zz=zeros(size(xx));
cc=[correctM correctM];
hs=surf(xx,yy,zz,cc,'EdgeColor','interp','FaceColor','none','Marker','.');
hold on;
xx=[Sc_frac Sc_frac];
yy=[B_frac B_frac];
zz=zeros(size(xx));
cc=[correctM correctM];
hs=surf(xx,yy,zz,cc,'EdgeColor','interp','FaceColor','none','Marker','.','MarkerSize',30,'LineStyle','none');
  댓글 수: 2
Walter Roberson
Walter Roberson 2017년 11월 6일
편집: Walter Roberson 2017년 11월 6일
Your variable custom_colormap is not used after it is defined, and your code does not appear to create a colorbar.
Yachao Chen
Yachao Chen 2017년 11월 6일
Actually I don't want a "map", since that won't represent my data correctly. I'd like to have just the data points that using the color to represent the values. I figured this is a way to do it, but I don't know how to get rid of those lines. Do you also have idea about how to write a more proper code based on my requirements?

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

채택된 답변

Walter Roberson
Walter Roberson 2017년 11월 6일
I see two possibilities:
1) that the lines you refer to are the black lines between elements of the colorbar on the right hand side, which the code you presented does not create; or
2) that the lines you refer to are the connecting lines between the points. If you do not want them then you should probably be using scatter() instead of surf(). If there is some good reason to use surf then your EdgeColor should be 'none' instead of 'interp'
  댓글 수: 3
Yachao Chen
Yachao Chen 2017년 11월 6일
OK, realized that there is one more place that did not correct. It works now. Thank you so much!
Walter Roberson
Walter Roberson 2017년 11월 7일
You probably do not need the zz as you appear to be doing a 2D scatter. It wouldn't really hurt to use the zz with a scatter3(): with constant z, the difference is that the scatter3 version could be rotated off-plane which could matter if you were plotting multiple objects in the same axes.

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Color and Styling에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by