File Exchange

image thumbnail

RGB triple of color name, version 2

version 1.1.0.0 (4.46 KB) by Kristjan Jonasson
Returns a Matlab RGB color specifier corresponding to a given color name (139 colors supported).

132 Downloads

Updated 05 Jul 2009

View License

RGB = RGB('COLORNAME') returns the red-green-blue triple corresponding to the color named COLORNAME by the CSS3 proposed standard [1], which contains 139 different colors (an rgb triple is a 1x3 vector of numbers between 0 and 1). The color names are the ones accepted by almost all web browsers, for example Brown, DarkRed, SlateGray.

RGB CHART creates a figure window showing all the available colors with their names.

COLORNAME = RGB(r,g,b) and COLORNAME = RGB([r,g,b]) both find the name of the color with the triple that is closest to [r,b,g] (measured by sum of squares).

EXAMPLES
c = rgb('DarkRed') gives c = [0.5430 0 0]
c = rgb('Green') gives c = [0 0.5 0]
plot(x,y,'color',rgb('orange')) plots an orange line through x and y
rgb chart shows all the colors
cnam = rgb(0.8,0.3,0.3) gives cnam = 'IndianRed'

REFERENCES
[1] "CSS Color module level 3", W3C (World Wide Web Consortium) working draft 21 July 2008, http://www.w3.org/TR/css3-color.
[2] "Web colors", http://en.wikipedia.org/wiki/Web_colors

Comments and Ratings (68)

Clair Stark

Adam Danz

Feature requests
1) rgb({'green','blue',red','Lime'}) % to return a matrix of triplets
2) rgb(10) %to return a predefined list of different colors
3) rgb([0.86 0.86 0.86]) % to return the nearest color name
These are all features I've added to the file and others may find useful.

Saket Adhau

Great Work

Very useful. Thanks!!

Huskydog

Cange Colum 46:
function rgb = rgb(s)
to
function rgbname = rgb(s)

Zoe

This is very helpful!!!!! Thank you for your effort!!!!!!

Sunil Vyas

Thank you very much for your efforts to ease the process.

Adam Danz

Adriano

Linwei Hu

Thank you so much! This is very useful for line/scatter plots.

Adam Danz

Margarita

Greg King

Just Great!!

tianfu xu

Very well! Thanks.

I am having troubles running the rgb.m, when I try to run it Matlab gives me the following error:
function rgb = rgb(s)

Error: Function definitions are not permitted in this context.

Someone has any ideas? Thanks
Karina

Very helpful! My advice : print the sheet with all colors and save the rgb function in a folder then add this folder with 'set path'. Then it would be very easy to use any color ;)

TiPi

Xinyi Yang

straightforward and very helpful! Thanks a lot!

Carl Reiner

Very easy to use and works perfectly! Thanks a lot

weiwei wu

juan lopez

Pablo

Really good perfect program!
Thanks

@Artemiy Vyacheslavov: you don't need to "combine" anything. The function that I wrote (at the link you gave) converts in both directions: from RGB to colorname, and also from colorname to RGB.

So why "combine" when my submission does both conversions already? It does not require any supporting functions.

Donald Chu

Thanks so much. It's great to be able to use more than the basic colors.

SMA

Very helpful!

Nikolay

and it would be even better, if you will consider to add recently updated default colororder used in plots for the list of color shortcuts! thanks

Nikolay

works great

Adam Danz

Ting

As some commenters have noted, this submission does not match RGB -> colornames. I wrote a color identifier function to convert between RGB and colornames (both ways):

http://www.mathworks.com/matlabcentral/fileexchange/48155

The user can also choose the to match RGB values using least-squares, or one of the color-difference methods CMC2:1, CIE76, or CIE94 (the default). A bonus function is also included that demonstrates that differences between these matching methods. For more info see also: https://en.wikipedia.org/wiki/Color_difference

Chad Greene

By coincidence, this function works with the rgbmap function described here: http://www.mathworks.com/matlabcentral/fileexchange/46874-rgbmap-color-maps/content/rgbmapdemo/html/rgbmap_demo.html

Jens Richter

Very useful :-)

Brian

Philippe

Great!

Pit D

Very useful. Thanks!

schwarzkater

Great!! very useful.

Isaak

Antonio

Bardia

Great function! Very helpful.

As others have mentioned the colorname = rgb(r, g, b) has not been implemented though!

Highly useful function! However, your Version 2 seems to have not been uploaded. The current function will not accept 3 inputs [R,G,B] to return a color name, as you describe. Please update!

Pio Nonus

At last an easy way to select Matlab colors. Before your script it was frustrating.

Very useful. Given the frustratingly few default choices in Matlab, this can extend your lifespan by a few day!

cool~, I was looking for this, thank you.

so great.

Feda

This is a great tool however I am having a few issues. When I use your example code:

cnam = rgb(0.8,0.3,0.3)

Matlab returns:

??? Error using ==> rgb
Too many input arguments.

Any ideas?

Great job!

This is great! Thanks so much!

very handy, thanks!

K R

this is so simple and brilliant!!! What a massive time-saver and figure-improver!! A million thanks!!

Sabine

Amaaazing!

us

excellent in-depth help including many references...
easily expandable look-up table engine...
certainly very useful for color-freaks...
us

Updates

1.1.0.0

VERSION 2 allows finding color name given rgb triple.

MATLAB Release Compatibility
Created with R2008b
Compatible with any release
Platform Compatibility
Windows macOS Linux