How to specify line color using a hexadecimal color code

2,342 views (last 30 days)
why the plot function return an error message when I specify the color as a hexadecimal color code i.e
x = linspace(-2*pi,2*pi);
y = sin(x);
plot( x , y , 'Color' , '#FF0000' )
Error using plot
Specified character vector is an invalid color value.

Accepted Answer

Akira Agata
Akira Agata on 24 Apr 2019
It would be due to your MATLAB version. Hexadecimal color code can be used in the latest version (R2019a).
If your version is R2018b or older, you have to convert hex color code to 1-by-3 RGB array, like:
x = linspace(-2*pi,2*pi);
y = sin(x);
% Convert color code to 1-by-3 RGB array (0~1 each)
str = '#FF0000';
color = sscanf(str(2:end),'%2x%2x%2x',[1 3])/255;
plot(x, y, 'Color', color)

More Answers (2)

Subrata Paul
Subrata Paul on 30 Jul 2019
You can also use some color :
Matlab plotting colors
The following are the letters you can add to your code to control the color of your plot while plotting in Matlab.
  • b blue
  • g green
  • r red
  • c cyan
  • m magenta
  • y yellow
  • k black
  • w white
. point
o circle
x x-mark
+ plus
* star
s square
d diamond
v triangle (down)
^ triangle (up)
< triangle (left)
> triangle (right)
p pentagram
h hexagram
— dashed
-. dashdot
: dotted
– solid

Subrata Paul
Subrata Paul on 30 Jul 2019

Community Treasure Hunt

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

Start Hunting!