Logarithmic colorscale ? Contourf, large range of value
조회 수: 1 (최근 30일)
이전 댓글 표시
Hello,
I'm currently trying to plot Data using contourf(X,Y,Z), where Z values are ranging from 0.01 to -1.6. I'm using the jet colorbar. However, what is interesting to see is between 0 and 0.01, so I would like to have a detailed colorbar between 0 and 0.01, and a small variation between 0 and -1.6. Basically, I would like that the positive values scale in red and the negatives one in blue.
I thought using a logarithmic scaling would help, but it's currently expending the blue and reducing the red, and not giving at all what I want. I used :
cmap = jet
redMap = cmap(:,1);
greenMap = cmap(:,2);
blueMap = cmap(:, 3);
newX = logspace(0, log10(64), 64);
logRedMap = interp1(1:64, redMap, newX);
logGreenMap = interp1(1:64, greenMap, newX);
logBlueMap = interp1(1:64, blueMap, newX);
logMap = [logRedMap; logGreenMap; logBlueMap]';
colormap(logMap);
Note that everything would be super easy if I only had positive values, so I could take the log of my data and it would be ok.
Thanks for the advices.
This is with the natural colormap/colorscale.
And this is when i set everything negative value to zero, so i can see what is interesting. But this solution isn't very satisfying.
This one is after the code I wrote before :
댓글 수: 0
채택된 답변
Harsh
2017년 5월 11일
Hello Cyril,
If you still need help with this, please contact MathWorks Technical Support here: https://www.mathworks.com/support/contact_us/
Please be sure to provide a detailed description of the issue and attach any relevant files / code / examples required to investigate the issue.
댓글 수: 0
추가 답변 (1개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Blue에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!