In a recent post, I mentioned LazyWeb It worked better than I expected. Matt posted some code that I requested that will highlight a line when you click on it. This works exactly as hoped. Thanks Matt, your MATLAB T-shirt has been shipped to thank you for your effort.
Ned thought this was great, so he posted a request for some code that makes colormaps.
I took up the challenge, mostly so that I could record how I went about developing an algorithm.
I broke this into two videos:
In this first video you will see:
- The colormaps that we are developing from a journal article
- The colormap applied to a MATLAB figure
- How to call the code to make the colormap
- Explaining the structure of a colormap in MATLAB
- Exploring colormaps in the colormap editor
- Plotting a colormap to understand its structure
- Creating the colormap creating subfunction
- Testing the subfunction
In this second video you will see:
- We review the colormaps that are to be made.
- Show the four expected calling syntaxes for the function
- Show how to use VARARGIN to make deal with different numbers of input arguments
- Show error catching
- Show different branches of code to be followed based on inputs
- Developing an algorithm with cell mode to test an algorithm
This code was written live, so mistakes were made along the way. This gives you a realistic view of how a MATLAB expert deals with the inevitable errors that occur while programming.
The file that got created is useful on its own, so I have posted it here
Other videos have been gathered here:
Practical example videos have been gathered here:
8 CommentsOldest to Newest
Hi Doug – thanks for the helpful video. I have a question. Is it possible to display two surface plots, with different colormaps, on the same axes? Thanks – Dan
The colormap is a property of the Figure, so all axes in a figure share it.
Here is the solution –
Hi Doug – Thank you for creating the very useful makeColorMap. My goal was to integrate this function into my plots that use contourcmap.m. However, I kept getting an error, ‘cmap string must contain a colormap function name’ since contourcmap only allows built in Matlab color maps. My way around this was to comment out lines 64-68 of contourcmap. Do you recommend this solution, and if not, what other methods could I try? Thanks!
What was the commands you were using? I just tried the example in CONTOURCMAP only I made a throw-away function JETT that just calls JET. This worked fine. Please send or post the code you used and we can figure this out.
I suspect that my colormap function expects different inputs than CONTOURCMAP gives so things are not working. You will probably want to make a wrapper around my function that takes just a single number input (like JET and other colormap functions do) so that when CONTOURCMAP calls it it will behave like the others.
I’ve been trying to change the colormap but I didn’t know what to do. It was driving me crazy!
Thank you very much for the help
Thank you for useful code!
code is missing. broken url.