Logarithmic colorscale ? Contourf, large range of value

1 回表示 (過去 30 日間)
Cyril GADAL
Cyril GADAL 2017 年 5 月 3 日
回答済み: Harsh 2017 年 5 月 11 日
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 :

採用された回答

Harsh
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.

その他の回答 (1 件)

Chaitral Date
Chaitral Date 2017 年 5 月 8 日
Please share your data in order to assist you further.

カテゴリ

Help Center および File ExchangeBlue についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by