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!