2D Contour colormap too dark.
Show older comments
Hi.
I have a problem. I made a colormap matrix "b" by picking out the rgb colour codes using Photoshop.
However, the Matlab GUI contour appears to be a lot darker than the initial excel contour it is based upon.
I have managed to change the brightness as follows (.x, .y, .z etc. being the rgb codes)
b = [.x .y .z; .w .v .u;...];
colormap(b);
brighten(0.6) %anything lower is far too dark,
%anything higher is extremely bright
The brighten function only changes the brightness of the contour, but even with the ideal brightness it has this greyed out touch to it.
Here is a comparison:
- The colours as they should be: http://i1329.photobucket.com/albums/w552/mrcjkb89/excelColours_zps71ba107b.jpg
- The Matlab colours: http://i1329.photobucket.com/albums/w552/mrcjkb89/matlabColours_zpsd1ddbf0c.jpg
Any tips would be much appreciated!
Marc
6 Comments
Sven
on 5 Sep 2013
Marc, can you paste in the actual (full) contents of b?
The best type of question will always have some code we can simply copy/paste/run to make a plot that shows your problem.
And are you just making a simple contour plot (like in your other question) or something 3d? If you're actually building, say, a 3d plot with lighting then colour brightness always depends on the lighting conditions in the scene.
Image Analyst
on 5 Sep 2013
Edited: Image Analyst
on 5 Sep 2013
What does contour() have to do with anything? This looks like just a colormap only question, and nothing to do with the contour function. Or did you mean contour in that if you have just a few colors, the image will have uniform color "contours" or regions and sharp boundaries (edges) between those uniform regions? Also, why is there a black line in the MATLAB image but not in the Excel image? Add the colorbar() function to your code - that may help explain things.
@IA: The type of plot (well, maybe "type" isn't the right word here...) can have an influence in certain circumstances. For example:
figure, peaks, colorbar
will have the same colormap, same colorbar, but will still "look" very different to the user than:
figure, peaks, colorbar, camlight
You and I are familiar enough with MATLAB to know why this is the case (renderer, lighting). Marc's example image looked like a closely zoomed in version of some plot but it was too zoomed in to see if lighting was indeed involved. Also, the dulling effect from the 3d rendering looks like it "might" be at play here. The description (brightening does not much until the surface just about turns white) also points that way.
I only ask about contour() because I'd just helped Marc out with a question here. If he's getting the colour difference with the same example as there (which had no lighting/rendering), then we could at least rule out that option.
Anyway, my bet's on either this rendering issue, or the RGB values of b not actually being scaled between 0 and 1.
Well, Marc, you've got us all interested now :)
Marc Jakobi
on 6 Sep 2013
Marc Jakobi
on 6 Sep 2013
Rachel Baker
on 19 Aug 2016
Hi,
I had a very similar problem, and ended up solving it with one line:
caxis([MIN MAX])
You can set your colormap over a specific range so that the colors that are "too" dark are associated with values outside of the range you are plotting. Hope this helps someone else!
-Rachel
Accepted Answer
More Answers (0)
Categories
Find more on Lighting, Transparency, and Shading in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!