Customizing plots after the fact

| categories: plotting | View Comments

Customizing plots after the fact

Customizing plots after the fact

John Kitchin

Sometimes it is desirable to make a plot that shows the data you want to present, and to customize the details, e.g. font size/type and line thicknesses afterwards. It can be tedious to try to add the customization code to the existing code that makes the plot. Today, we look at a way to do the customization after the plot is created.

clear all; close all; clc
x = linspace(0,2);
y1 = x;
y2 = x.^2;
y3 = x.^3;

plot(x,y1,x,y2,x,y3)
xlabel('x')
ylabel('f(x)')
title('plots of y = x^n')
legend({'x' 'x^2' 'x^3'},'location','best')

Matlab uses handle graphics with the set command to change properties. We can use a set of find commands to locate the Matlab object containing the current figure, and then a findall command to get the handles to all the axes, lines, and text in the current figure. Then we use the set command to change the properties of those objects!

a=findobj(gcf);

Each of the numbers that come from these commands represent an object that we have to set the properties of. You can see there are a lot of them. That is why it is difficult to change all them when you make the plot.

allaxes=findall(a,'Type','axes')
alllines=findall(a,'Type','line')
alltext=findall(a,'Type','text')
allaxes =

  181.0081
  173.0081
  181.0081
  173.0081


alllines =

  191.0081
  190.0081
  188.0081
  187.0081
  185.0081
  184.0081
  176.0081
  175.0081
  174.0085
  191.0081
  190.0081
  188.0081
  187.0081
  185.0081
  184.0081
  176.0081
  175.0081
  174.0085
  191.0081
  190.0081
  188.0081
  187.0081
  185.0081
  184.0081
  176.0081
  175.0081
  174.0085


alltext =

  235.0081
  234.0081
  233.0081
  232.0081
  189.0081
  186.0081
  183.0081
  182.0081
  231.0081
  230.0081
  192.0081
  180.0081
  179.0081
  178.0081
  177.0081
  235.0081
  234.0081
  233.0081
  232.0081
  189.0081
  186.0081
  183.0081
  182.0081
  231.0081
  230.0081
  192.0081
  180.0081
  179.0081
  178.0081
  177.0081
  189.0081
  186.0081
  183.0081

Now we set the font to Arial, bold, 14 pt on the axes, and make the axes thicker.

set(allaxes,'FontName','Arial','FontWeight','Bold','LineWidth',2,'FontSize',14);

we set the plot lines to be thicker and dashed

set(alllines,'Linewidth',2,'Linestyle','--');

and set all other text (labels, and titles) to be 14pt italic Arial

set(alltext,'FontName','Arial','FontAngle','italic','FontSize',14);

we can even change the figure width and height

width = 3; height = 5;
set(gcf,'units','inches','position',[1 1 width height])

% categories: plotting
Read and Post Comments

Parameterized ODEs

| categories: odes | View Comments

Parameterized ODEs

Parameterized ODEs

John Kitchin

Sometimes we have an ODE that depends on a parameter, and we want to solve the ODE for several parameter values. It is inconvenient to write an ode function for each parameter case. Here we examine a convenient way to solve this problem. We consider the following ODE:

Contents

$$\frac{dCa}{dt} = -k Ca(t)$$

where $k$ is a parameter, and we want to solve the equation for a couple of values of $k$ to test the sensitivity of the solution on the parameter. Our question is, given $Ca(t=0)=2$, how long does it take to get $Ca = 1$, and how sensitive is the answer to small variations in $k$?

function main
clear all; close all; clc
ko = 2;
tspan = [0 1]; % you need to make sure this time span contains the solution!
Cao = 2;

finding the solution

we will use an events function to make the integration stop where we want it to. First we create an options variable for our ode solver to use the event function to stop integrating at Ca = 1

options = odeset('Events',@event_function);

we will look at +- 5% of the given k-value

ktest = [0.95*ko ko 1.05*ko]
results = [];
ktest =

    1.9000    2.0000    2.1000

this syntax loops through each value in ktest, setting the kvar variable equal to that value inside the loop.

for kvar = ktest
    % make a function handle using the k for this iteration
    f = @(t,Ca) myode(t,Ca,kvar);
    [t,Ca,TE,VE] = ode45(f, tspan, Cao,options);
    % TE is the time at which Ca = 1
    results = [results TE] % store time for later analysis
    plot(t,Ca,'displayname',sprintf('k = %1.2f',kvar))
    hold all
end

legend('-DynamicLegend')
xlabel('Time')
ylabel('C_A')
results =

    0.3648


results =

    0.3648    0.3466


results =

    0.3648    0.3466    0.3301

sprintf('k = %1.2f:  Ca = 1 at %1.2f time units\n',[ktest;results])
ans =

k = 1.90:  Ca = 1 at 0.36 time units
k = 2.00:  Ca = 1 at 0.35 time units
k = 2.10:  Ca = 1 at 0.33 time units


compute errors

we can compute a percent difference for each variation. We assume that ko is the reference point

em = (results(1) - results(2))/results(2)*100
ep = (results(3) - results(2))/results(2)*100
% We see roughly +-5% error for a 5% variation in the parameter. You
% would have to apply some engineering judgement to determine if that
% is sufficiently accurate.
em =

    5.2632


ep =

   -4.7619

function dCadt = myode(t,Ca,k)
dCadt = -k*Ca;

function [value,isterminal,direction] = event_function(t,Ca)
value = Ca - 1.0;  % when value = 0, an event is triggered
isterminal = 1; % terminate after the first event
direction = 0;  % get all the zeros

% categories: ODEs
% tags: reaction engineering
Read and Post Comments

Calculating a bubble point pressure

| categories: nonlinear algebra | View Comments

Calculating a bubble point pressure

Calculating a bubble point pressure

adapted from http://terpconnect.umd.edu/~nsw/ench250/bubpnt.htm

In Post 1060 we learned to read a datafile containing lots of Antoine coefficients into a database, and use the coefficients to estimate vapor pressure. Today, we use those coefficents to compute a bubble point pressure. You will need download antoine_database.mat if you haven't already run the previous example.

The bubble point is the temperature at which the sum of the component vapor pressures is equal to the the total pressure. This is where a bubble of vapor will first start forming, and the mixture starts to boil.

Consider an equimolar mixture of benzene, toluene, chloroform, acetone and methanol. Compute the bubble point at 760 mmHg, and the gas phase composition.

Contents

Load the parameter database

load antoine_database.mat

list the compounds

compounds = {'benzene' 'toluene' 'chloroform' 'acetone' 'methanol'}
n = numel(compounds); % we use this as a counter later.
compounds = 

  Columns 1 through 4

    'benzene'    'toluene'    'chloroform'    'acetone'

  Column 5

    'methanol'

preallocate the vectors

for large problems it is more efficient to preallocate the vectors.

A = zeros(n,1); B = zeros(n,1); C = zeros(n,1);
Tmin = zeros(n,1); Tmax = zeros(n,1);

Now get the parameters for each compound

for i = 1:n
    c = database(compounds{i}); % c is a cell array
    % assign the parameters to the variables
    [A(i) B(i) C(i) Tmin(i) Tmax(i)] = c{:};
end

this is the equimolar, i.e. equal mole fractions

x = [0.2; 0.2; 0.2; 0.2; 0.2];

Given a T, we can compute the pressure of each species like this:

T = 67; % degC
P = 10.^(A-B./(T + C))
P =

  1.0e+003 *

    0.4984
    0.1822
    0.8983
    1.0815
    0.8379

note the pressure is a vector, one element for each species. To get the total pressure of the mixture, we use the sum command, and multiply each pure component vapor pressure by the mole fraction of that species.

sum(x.*P)
% This is less than 760 mmHg, so the Temperature is too low.
ans =

  699.6546

Solve for the bubble point

We will use fsolve to find the bubble point. We define a function that is equal to zero at teh bubble point. That function is the difference between the pressure at T, and 760 mmHg, the surrounding pressure.

Tguess = 67;
Ptotal = 760;
func = @(T) Ptotal - sum(x.*10.^(A-B./(T + C)));

T_bubble = fsolve(func,Tguess)

sprintf('The bubble point is %1.2f degC', T_bubble)
Equation solved.

fsolve completed because the vector of function values is near zero
as measured by the default value of the function tolerance, and
the problem appears regular as measured by the gradient.




T_bubble =

   69.4612


ans =

The bubble point is 69.46 degC

Let's double check the T_bubble is within the valid temperature ranges

if any(T_bubble < Tmin) | any(T_bubble > Tmax) % | is the "or" operator
    error('T_bubble out of range')
else
    sprintf('T_bubble is in range')
end
ans =

T_bubble is in range

Vapor composition

we use the formula y_i = x_i*P_i/P_T.

y = x.*10.^(A-B./(T_bubble + C))/Ptotal;

for i=1:n
    sprintf('y_%s = %1.3f',compounds{i},y(i))
end
ans =

y_benzene = 0.142


ans =

y_toluene = 0.053


ans =

y_chloroform = 0.255


ans =

y_acetone = 0.308


ans =

y_methanol = 0.242

Summary

we saved some typing effort by using the parameters from the database we read in before. We also used the vector math capability of matlab to do element by element processing, e.g. in line 44 and 58. This let us avoid doing some loop programming, or writing equations with 5 compounds in them!

% categories: nonlinear algebra
% tags: thermodynamics
Read and Post Comments

Picasso's short lived blue period with Matlab

| categories: plotting | View Comments

picasso_blue

Contents

Picasso's short lived blue period with Matlab

John Kitchin

It is an unknown fact that Picasso had a brief blue plotting period with Matlab before moving on to his more famous paintings. It started from irritation with the default colors available in Matlab for plotting. After watching his friend van Gogh cut off his own ear out of frustration with the ugly default colors, Picasso had to do something different.

clear all; clc; close all

default colors

Picasso wanted a series of horizontal lines with an eye-pleasing sequence of colors.

figure
hold all

% this plots horizontal lines for each y value of m.
for m = 1:0.5:50
  plot([0 50], [m m]);
end

egads! that is rough on the eyes. Picasso figured out a way to customize the plot color order for a figure! He used the cmu.colors function to create an array of colors, blues in this case in the order he wanted them plotted, roughly light to dark. see http://en.wikipedia.org/wiki/List_of_colors for a list of colors available, and install version 1.7 of +cmu.

customizing the order colors are plotted in

It is convenient to define this function handle shortcut to avoid having to type cmu.colors('alice blue') for every color

c = @cmu.colors;

Now we make an array of the colors we want.

blues = [c('alice blue')
    c('light blue')
    c('baby blue')
    c('sky blue')
    c('maya blue')
    c('cornflower blue')
    c('bleu de france')
    c('azure')
    c('sapphire')
    c('cobalt')
    c('blue')
    c('navy blue')
    c('duke blue')]
blues =

    0.9400    0.9700    1.0000
    0.6800    0.8500    0.9000
    0.4700    0.8100    0.9400
    0.5300    0.8100    0.9200
    0.4500    0.7600    0.9800
    0.3900    0.5800    0.9300
    0.1900    0.5500    0.9100
         0    0.5000    1.0000
    0.0600    0.3200    0.7300
         0    0.2800    0.6700
         0         0    1.0000
         0         0    0.5000
         0         0    0.6100

Create a figure, and set the color order property. gca is a command for get current axes, and we set the ColorOrder on that axes.

figure
set(gca, 'ColorOrder', blues)

use the hold all command to preserve the ColorOrder on each subsequent plot

hold all

for m = 1:0.5:50
  plot([0 50], [m m]);
end

This is much nicer to look at!

Summary

You can specify the ColorOrder for plots as described above. Picasso eventually gave up on Matlab as an artform, and moved on to painting.

% categories: plotting
Read and Post Comments

Check out the new Fall colors!

| categories: plotting | View Comments

Check out the new Fall colors!

Check out the new Fall colors!

John Kitchin

Contents

The standard colors

the standard colors available in plotting are not that pretty:

b     blue
g     green
r     red
c     cyan
m     magenta
y     yellow
k     black
w     white

yellow is particularly hard to see.

clear all; close all; clc;

x = linspace(0,1);
y = sin(x);

figure
plot(x,y,'y-')

cyan is not that attractive

plot(x,y,'c-')

green is pretty attrocius.

plot(x,y,'g-')

Doing better with colors

A large list of colors can be found online. Matlab allows you to specify a color by the RGB (red green blue) values, for example, deep carrot orange is defined by the RGB tuple [ 0.9100 0.4100 0.1700], and it is easier to see than yellow.

You specify the color of the line like this.

plot(x,y,'color',[0.9100    0.4100    0.1700])

using cmu.colors

It is not that convenient to type in the RGB tuples, so we created the cmu.colors provides a function to get a lot of colors deep carrot orange is much easier to see than the default yellow. Note this feature is only available for +cmu.version >= 1.7.

c = @cmu.colors; % shortcut function handle
c('deep carrot orange') % an ok looking dark orange. this returns the RGB
ans =

    0.9100    0.4100    0.1700

Instead of

figure
plot(x,y,'color',c('deep carrot orange'),'linewidth',3)

List of available colors

c('list')

% categories: plotting
ans = 

    'air force blue'
    'alice blue'
    'alizarin crimson'
    'almond'
    'amaranth'
    'amber'
    'amber (sae/ece)'
    'american rose'
    'amethyst'
    'android green'
    'anti-flash white'
    'antique brass'
    'antique fuchsia'
    'antique white'
    'ao (english)'
    'apple green'
    'apricot'
    'aqua'
    'aquamarine'
    'army green'
    'arsenic'
    'arylide yellow'
    'ash grey'
    'asparagus'
    'atomic tangerine'
    'auburn'
    'aureolin'
    'aurometalsaurus'
    'awesome'
    'azure'
    'azure mist/web'
    'baby blue'
    'baby blue eyes'
    'baby pink'
    'ball blue'
    'banana mania'
    'banana yellow'
    'battleship grey'
    'bazaar'
    'bear'
    'beau blue'
    'beaver'
    'beige'
    'bisque'
    'bistre'
    'bittersweet'
    'black'
    'blanched almond'
    'bleu de france'
    'blizzard blue'
    'blond'
    'blue'
    'blue (munsell)'
    'blue (ncs)'
    'blue (pigment)'
    'blue (ryb)'
    'blue bell'
    'blue gray'
    'blue-green'
    'blue-violet'
    'blush'
    'bole'
    'bondi blue'
    'boston university red'
    'boysenberry'
    'brandeis blue'
    'brass'
    'brick red'
    'bright cerulean'
    'bright green'
    'bright lavender'
    'bright maroon'
    'bright pink'
    'bright turquoise'
    'bright ube'
    'brilliant lavender'
    'brilliant rose'
    'brink pink'
    'british racing green'
    'bronze'
    'brown (traditional)'
    'brown (web)'
    'bubble gum'
    'bubbles'
    'buff'
    'bulgarian rose'
    'burgundy'
    'burlywood'
    'burnt orange'
    'burnt sienna'
    'burnt umber'
    'byzantine'
    'byzantium'
    'cadet'
    'cadet blue'
    'cadet grey'
    'cadmium green'
    'cadmium orange'
    'cadmium red'
    'cadmium yellow'
    'café au lait'
    'café noir'
    'cal poly pomona green'
    'cambridge blue'
    'camel'
    'camouflage green'
    'canary yellow'
    'candy apple red'
    'candy pink'
    'capri'
    'caput mortuum'
    'cardinal'
    'caribbean green'
    'carmine'
    'carmine pink'
    'carmine red'
    'carnation pink'
    'carnelian'
    'carolina blue'
    'carrot orange'
    'ceil'
    'celadon'
    'celeste (colour)'
    'celestial blue'
    'cerise'
    'cerise pink'
    'cerulean'
    'cerulean blue'
    'cg blue'
    'cg red'
    'chamoisee'
    'champagne'
    'charcoal'
    'chartreuse (traditional)'
    'chartreuse (web)'
    'cherry blossom pink'
    'chestnut'
    'chocolate (traditional)'
    'chocolate (web)'
    'chrome yellow'
    'cinereous'
    'cinnabar'
    'cinnamon'
    'citrine'
    'classic rose'
    'cobalt'
    'cocoa brown'
    'coffee'
    'columbia blue'
    'cool black'
    'cool grey'
    'copper'
    'copper rose'
    'coquelicot'
    'coral'
    'coral pink'
    'coral red'
    'cordovan'
    'corn'
    'cornell red'
    'cornflower blue'
    'cornsilk'
    'cosmic latte'
    'cotton candy'
    'cream'
    'crimson'
    'crimson glory'
    'cyan'
    'cyan (process)'
    'daffodil'
    'dandelion'
    'dark blue'
    'dark brown'
    'dark byzantium'
    'dark candy apple red'
    'dark cerulean'
    'dark champagne'
    'dark chestnut'
    'dark coral'
    'dark cyan'
    'dark electric blue'
    'dark goldenrod'
    'dark gray'
    'dark green'
    'dark jungle green'
    'dark khaki'
    'dark lava'
    'dark lavender'
    'dark magenta'
    'dark midnight blue'
    'dark olive green'
    'dark orange'
    'dark orchid'
    'dark pastel blue'
    'dark pastel green'
    'dark pastel purple'
    'dark pastel red'
    'dark pink'
    'dark powder blue'
    'dark raspberry'
    'dark red'
    'dark salmon'
    'dark scarlet'
    'dark sea green'
    'dark sienna'
    'dark slate blue'
    'dark slate gray'
    'dark spring green'
    'dark tan'
    'dark tangerine'
    'dark taupe'
    'dark terra cotta'
    'dark turquoise'
    'dark violet'
    'dartmouth green'
    'davys grey'
    'debian red'
    'deep carmine'
    'deep carmine pink'
    'deep carrot orange'
    'deep cerise'
    'deep champagne'
    'deep chestnut'
    'deep coffee'
    'deep fuchsia'
    'deep jungle green'
    'deep lilac'
    'deep magenta'
    'deep peach'
    'deep pink'
    'deep saffron'
    'deep sky blue'
    'denim'
    'desert'
    'desert sand'
    'dim gray'
    'dodger blue'
    'dogwood rose'
    'dollar bill'
    'dolphin'
    'drab'
    'duke blue'
    'earth yellow'
    'ecru'
    'eggplant'
    'eggshell'
    'egyptian blue'
    'electric blue'
    'electric crimson'
    'electric cyan'
    'electric green'
    'electric indigo'
    'electric lavender'
    'electric lime'
    'electric purple'
    'electric ultramarine'
    'electric violet'
    'electric yellow'
    'emerald'
    'eton blue'
    'fallow'
    'falu red'
    'fandango'
    'fashion fuchsia'
    'fawn'
    'feldgrau'
    'fern green'
    'ferrari red'
    'field drab'
    'fire engine red'
    'firebrick'
    'flame'
    'flamingo pink'
    'flavescent'
    'flax'
    'floral white'
    'fluorescent orange'
    'fluorescent pink'
    'fluorescent yellow'
    'folly'
    'forest green (traditional)'
    'forest green (web)'
    'french beige'
    'french blue'
    'french lilac'
    'french rose'
    'fuchsia'
    'fuchsia pink'
    'fulvous'
    'fuzzy wuzzy'
    'gainsboro'
    'gamboge'
    'ghost white'
    'ginger'
    'glaucous'
    'glitter'
    'gold (metallic)'
    'gold (web) (golden)'
    'golden brown'
    'golden poppy'
    'golden yellow'
    'goldenrod'
    'granny smith apple'
    'gray'
    'gray (html/css gray)'
    'gray (x11 gray)'
    'gray-asparagus'
    'green (color wheel) (x11 green)'
    'green (html/css green)'
    'green (munsell)'
    'green (ncs)'
    'green (pigment)'
    'green (ryb)'
    'green-yellow'
    'grullo'
    'guppie green'
    'halaya ube'
    'han blue'
    'han purple'
    'hansa yellow'
    'harlequin'
    'harvard crimson'
    'harvest gold'
    'heart gold'
    'heliotrope'
    'hollywood cerise'
    'honeydew'
    'hookers green'
    'hot magenta'
    'hot pink'
    'hunter green'
    'iceberg'
    'icterine'
    'inchworm'
    'india green'
    'indian red'
    'indian yellow'
    'indigo (dye)'
    'indigo (web)'
    'international klein blue'
    'international orange'
    'iris'
    'isabelline'
    'islamic green'
    'ivory'
    'jade'
    'jasmine'
    'jasper'
    'jazzberry jam'
    'jonquil'
    'june bud'
    'jungle green'
    'kelly green'
    'khaki (html/css) (khaki)'
    'khaki (x11) (light khaki)'
    'ku crimson'
    'la salle green'
    'languid lavender'
    'lapis lazuli'
    'laser lemon'
    'laurel green'
    'lava'
    'lavender (floral)'
    'lavender (web)'
    'lavender blue'
    'lavender blush'
    'lavender gray'
    'lavender indigo'
    'lavender magenta'
    'lavender mist'
    'lavender pink'
    'lavender purple'
    'lavender rose'
    'lawn green'
    'lemon'
    'lemon chiffon'
    'light apricot'
    'light blue'
    'light brown'
    'light carmine pink'
    'light coral'
    'light cornflower blue'
    'light crimson'
    'light cyan'
    'light fuchsia pink'
    'light goldenrod yellow'
    'light gray'
    'light green'
    'light khaki'
    'light mauve'
    'light pastel purple'
    'light pink'
    'light salmon'
    'light salmon pink'
    'light sea green'
    'light sky blue'
    'light slate gray'
    'light taupe'
    'light thulian pink'
    'light timberwolf'
    'light yellow'
    'lilac'
    'lime (color wheel)'
    'lime (web) (x11 green)'
    'lime green'
    'lincoln green'
    'linen'
    'lion'
    'liver'
    'lust'
    'magenta'
    'magenta (dye)'
    'magenta (process)'
    'magic mint'
    'magnolia'
    'mahogany'
    'maize'
    'majorelle blue'
    'malachite'
    'manatee'
    'mango tango'
    'mantis'
    'maroon (html/css)'
    'maroon (x11)'
    'mauve'
    'mauve taupe'
    'mauvelous'
    'maya blue'
    'meat brown'
    'medium aquamarine'
    'medium blue'
    'medium candy apple red'
    'medium carmine'
    'medium champagne'
    'medium electric blue'
    'medium jungle green'
    'medium lavender magenta'
    'medium orchid'
    'medium persian blue'
    'medium purple'
    'medium red-violet'
    'medium sea green'
    'medium slate blue'
    'medium spring bud'
    'medium spring green'
    'medium taupe'
    'medium teal blue'
    'medium turquoise'
    'medium violet-red'
    'melon'
    'midnight blue'
    'midnight green (eagle green)'
    'mikado yellow'
    'mint'
    'mint cream'
    'mint green'
    'misty rose'
    'moccasin'
    'mode beige'
    'moonstone blue'
    'mordant red 19'
    'moss green'
    'mountain meadow'
    'mountbatten pink'
    'msu green'
    'mulberry'
    'munsell'
    'mustard'
    'myrtle'
    'nadeshiko pink'
    'napier green'
    'naples yellow'
    'navajo white'
    'navy blue'
    'neon carrot'
    'neon fuchsia'
    'neon green'
    'non-photo blue'
    'north texas green'
    'ocean boat blue'
    'ochre'
    'office green'
    'old gold'
    'old lace'
    'old lavender'
    'old mauve'
    'old rose'
    'olive'
    'olive drab #7'
    'olive drab (web) (olive drab #3)'
    'olivine'
    'onyx'
    'opera mauve'
    'orange (color wheel)'
    'orange (ryb)'
    'orange (web color)'
    'orange peel'
    'orange-red'
    'orchid'
    'otter brown'
    'ou crimson red'
    'outer space'
    'outrageous orange'
    'oxford blue'
    'pakistan green'
    'palatinate blue'
    'palatinate purple'
    'pale aqua'
    'pale blue'
    'pale brown'
    'pale carmine'
    'pale cerulean'
    'pale chestnut'
    'pale copper'
    'pale cornflower blue'
    'pale gold'
    'pale goldenrod'
    'pale green'
    'pale magenta'
    'pale pink'
    'pale plum'
    'pale red-violet'
    'pale robin egg blue'
    'pale silver'
    'pale spring bud'
    'pale taupe'
    'pale violet-red'
    'pansy purple'
    'papaya whip'
    'paris green'
    'pastel blue'
    'pastel brown'
    'pastel gray'
    'pastel green'
    'pastel magenta'
    'pastel orange'
    'pastel pink'
    'pastel purple'
    'pastel red'
    'pastel violet'
    'pastel yellow'
    'patriarch'
    'paynes grey'
    'peach'
    'peach puff'
    'peach-orange'
    'peach-yellow'
    'pear'
    'pearl'
    'pearl aqua'
    'peridot'
    'periwinkle'
    'persian blue'
    'persian green'
    'persian indigo'
    'persian orange'
    'persian pink'
    'persian plum'
    'persian red'
    'persian rose'
    'persimmon'
    'phlox'
    'phthalo blue'
    'phthalo green'
    'piggy pink'
    'pine green'
    'pink'
    'pink pearl'
    'pink sherbet'
    'pink-orange'
    'pistachio'
    'platinum'
    'plum (traditional)'
    'plum (web)'
    'polar bear'
    'portland orange'
    'powder blue (web)'
    'princeton orange'
    'prune'
    'prussian blue'
    'psychedelic purple'
    'puce'
    'pumpkin'
    'purple (html/css)'
    'purple (munsell)'
    'purple (x11)'
    'purple heart'
    'purple mountain majesty'
    'purple pizzazz'
    'purple taupe'
    'quartz'
    'radical red'
    'raspberry'
    'raspberry glace'
    'raspberry pink'
    'raspberry rose'
    'raw umber'
    'razzle dazzle rose'
    'razzmatazz'
    'red'
    'red (munsell)'
    'red (ncs)'
    'red (pigment)'
    'red (ryb)'
    'red-brown'
    'red-violet'
    'redwood'
    'regalia'
    'rich black'
    'rich brilliant lavender'
    'rich carmine'
    'rich electric blue'
    'rich lavender'
    'rich lilac'
    'rich maroon'
    'rifle green'
    'robin egg blue'
    'rose'
    'rose bonbon'
    'rose ebony'
    'rose gold'
    'rose madder'
    'rose pink'
    'rose quartz'
    'rose taupe'
    'rose vale'
    'rosewood'
    'rosso corsa'
    'rosy brown'
    'royal azure'
    'royal blue (traditional)'
    'royal blue (web)'
    'royal fuchsia'
    'royal purple'
    'ruby'
    'ruddy'
    'ruddy brown'
    'ruddy pink'
    'rufous'
    'russet'
    'rust'
    'sacramento state green'
    'saddle brown'
    'safety orange (blaze orange)'
    'saffron'
    'salmon'
    'salmon pink'
    'sand'
    'sand dune'
    'sandstorm'
    'sandy brown'
    'sandy taupe'
    'sangria'
    'sap green'
    'sapphire'
    'satin sheen gold'
    'scarlet'
    'school bus yellow'
    'screamin green'
    'sea green'
    'seal brown'
    'seashell'
    'selective yellow'
    'sepia'
    'shadow'
    'shamrock green'
    'shocking pink'
    'sienna'
    'silver'
    'sinopia'
    'skobeloff'
    'sky blue'
    'sky magenta'
    'slate blue'
    'slate gray'
    'smalt (dark powder blue)'
    'smokey topaz'
    'smoky black'
    'snow'
    'spiro disco ball'
    'splashed white'
    'spring bud'
    'spring green'
    'st. patricks blue'
    'steel blue'
    'stil de grain yellow'
    'stizza'
    'straw'
    'sunglow'
    'sunset'
    'tan'
    'tangelo'
    'tangerine'
    'tangerine yellow'
    'taupe'
    'taupe gray'
    'tea green'
    'tea rose (orange)'
    'tea rose (rose)'
    'teal'
    'teal blue'
    'teal green'
    'tenné (tawny)'
    'terra cotta'
    'thistle'
    'thulian pink'
    'tickle me pink'
    'tiffany blue'
    'tigers eye'
    'timberwolf'
    'titanium yellow'
    'tomato'
    'toolbox'
    'topaz'
    'tractor red'
    'trolley grey'
    'tropical rain forest'
    'true blue'
    'tufts blue'
    'tumbleweed'
    'turkish rose'
    'turquoise'
    'turquoise blue'
    'turquoise green'
    'tuscan red'
    'twilight lavender'
    'tyrian purple'
    'ua blue'
    'ua red'
    'ube'
    'ucla blue'
    'ucla gold'
    'ufo green'
    'ultra pink'
    'ultramarine'
    'ultramarine blue'
    'umber'
    'united nations blue'
    'university of california gold'
    'unmellow yellow'
    'up forest green'
    'up maroon'
    'upsdell red'
    'urobilin'
    'usc cardinal'
    'usc gold'
    'utah crimson'
    'vanilla'
    'vegas gold'
    'venetian red'
    'verdigris'
    'vermilion'
    'veronica'
    'violet'
    'violet (color wheel)'
    'violet (ryb)'
    'violet (web)'
    'viridian'
    'vivid auburn'
    'vivid burgundy'
    'vivid cerise'
    'vivid tangerine'
    'vivid violet'
    'warm black'
    'wenge'
    'wheat'
    'white'
    'white smoke'
    'wild blue yonder'
    'wild strawberry'
    'wild watermelon'
    'wine'
    'wisteria'
    'xanadu'
    'yale blue'
    'yellow'
    'yellow (munsell)'
    'yellow (ncs)'
    'yellow (process)'
    'yellow (ryb)'
    'yellow orange'
    'yellow-green'
    'zaffre'
    'zinnwaldite brown'

Read and Post Comments

« Previous Page -- Next Page »