colormapeditor

Open colormap editor

Syntax

colormapeditor

Description

colormapeditor displays the current figure's colormap as a strip of rectangular cells in the colormap editor. Node pointers are colored cells below the colormap strip that indicate points in the colormap where the rate of the variation of R, G, and B values changes. You can also work in the HSV colorspace by setting the Interpolating Colorspace selector to HSV.

You can also start the colormap editor by selecting Colormap from the Edit menu.

Node Pointer Operations

You can select and move node pointers to change a range of colors in the colormap. The color of a node pointer remains constant as you move it, but the colormap changes by linearly interpolating the RGB values between nodes.

Change the color at a node by double-clicking the node pointer. A color picker box appears, from which you can select a new color. After you select a new color at a node, the colors between nodes are reinterpolated.

You can select a different color map using the Standard Colormaps submenu of the GUI Tools menu. The Plotting Tools Property Editor has a dropdown menu that also lets you select from standard colormaps, but does not help you to modify a colormap.

Operation

How to Perform

Select a built-in colormap

Tools > Standard Colormaps

Add a node

Click below the corresponding cell in the colormap strip.

Select a node

Left-click the node.

Select multiple nodes

Adjacent: left-click first node, Shift+click the last node.

Nonadjacent: left-click first node, Ctrl+click subsequent nodes.

Move a node

Select and drag with the mouse or select and use the left and right arrow keys.

Move multiple nodes

Select multiple nodes and use the left and right arrow keys to move nodes as a group. Movement stops when one of the selected nodes hits an unselected node or an end node.

Delete a node

Select the node and then press the Delete key, or select Delete from the Edit menu, or type Ctrl+x.

Delete multiple nodes

Select the nodes and then press the Delete key, or select Delete from the Edit menu, or type Ctrl+x.

Display color picker for a node

Double-click the node pointer.

Current Color Info

When you put the mouse over a color cell or node pointer, the colormap editor displays the following information about that colormap element:

  • The element's index in the colormap

  • The value from the graphics object color data that is mapped to the node's color (i.e., data from the CData property of any image, patch, or surface objects in the figure)

  • The color's RGB and HSV color value

Interpolating Colorspace

The colorspace determines what values are used to calculate the colors of cells between nodes. For example, in the RGB colorspace, internode colors are calculated by linearly interpolating the red, green, and blue intensity values from one node to the next. Switching to the HSV colorspace causes the colormap editor to recalculate the colors between nodes using the hue, saturation, and value components of the color definition.

Note that when you switch from one colorspace to another, the color editor preserves the number, color, and location of the node pointers, which can cause the colormap to change.

Interpolating in HSV.  Since hue is conceptually mapped about a color circle, the interpolation between hue values can be ambiguous. To minimize this ambiguity, the interpolation uses the shortest distance around the circle. For example, interpolating between two nodes, one with hue of 2 (slightly orange red) and another with a hue of 356 (slightly magenta red), does not result in hues 3,4,5...353,354,355 (orange/red-yellow-green-cyan-blue-magenta/red). Taking the shortest distance around the circle gives 357,358,1,2 (orange/red-red-magenta/red).

Color Data Min and Max

The Color Data Min and Color Data Max text fields enable you to specify values for the axes CLim property. These values change the mapping of object color data (the CData property of images, patches, and surfaces) to the colormap.

Examples

This example modifies a default MATLAB® colormap so that ranges of data values are displayed in specific ranges of color. The graph is a slice plane illustrating a cross section of fluid flow through a jet nozzle. See the slice reference page for more information on this type of graph.

Enhance Colormap

This example modifies a default MATLAB colormap so that ranges of data values are displayed more prominently.

Create a slice plane for the flow dataset:

[x,y,z,v] = flow;
hz = slice(x,y,z,v,[],[],0);
hz.EdgeColor = 'none';
hz.FaceColor = 'interp';
view(2)

Start the colormap editor:

colormapeditor

To reveal more information about the flow data, create more color variation in the region of interest. Add the color red for the largest color data value and blend it with the yellow and orange colors:

The new colormap reveals more of the flow data variation in the higher data values:

Saving the Modified Colormap

You can save the modified colormap using the colormap function or the figure Colormap property.

After you have applied your changes, save the current figure colormap in a variable:

mycmap = get(fig,'Colormap'); 

To use this colormap in another figure, set that figure's Colormap property:

set(new_fig,'Colormap',mycmap)

To save your modified colormap in a MAT-file, use the save command to save the mycmap workspace variable:

save('MyColormaps','mycmap')

To use your saved colormap in another MATLAB session, load the variable into the workspace and assign the colormap to the figure:

load('MyColormaps','mycmap')
set(fig,'Colormap',mycmap)
Was this topic helpful?