3.5. Colors
Prev | Chapter 3. PHPlot Concepts | Next

## 3.5. Colors

This section contains information about using colors in PHPlot. Functions described in Section 6.3, “Colors and Line Styles” in the Reference chapter control the use of colors in PHPlot.

This section describes Palette images. Starting with PHPlot-5.1.1, a second color model is available in PHPlot: Truecolor images. Refer to Section 4.2, “Truecolor Images” for more information.

### 3.5.1. Color Parameter Forms

Individual colors as arguments to PHPlot functions can take one of the following forms:

1. A color name, as defined by SetRGBArray or from a built-in color map if SetRGBArray was not called. Note that color names are case sensitive.

2. Numeric color component values, in the form `#rrggbb`. Here rr is red, gg is green, and bb is blue, and each component value is represented as a 2-digit hexadecimal number between 00 and ff. For example, `#0000ff` is full-saturation blue.

3. A PHP array of red, green, and blue color component values, each value being in the range 0 to 255 inclusive, for example `array(0,0,255)` for blue.

Additional color forms can be found in Section 4.2.4, “Color Parameter Form Extensions”. Those forms are more useful with truecolor images.

### Note

You cannot use the (red, green, blue) array form as a color value in those functions (like SetDataColors) which accept either a single color or an array of colors. The functions are unable to distinguish between an array of colors and a single color represented as an array. However, you can work around this restriction by using an array containing the array with the colors, for example: `array(array(102, 0, 192))`.

### 3.5.2. Built-in Color Maps

There are 36 colors defined in the 'small' internal color map. This is the set of colors available by default, unless SetRGBArray is used to load in a different color map. The colors and their names are shown in the figure below.

Here are the color names again.

DarkGreen | DimGrey | PeachPuff | SkyBlue | SlateBlue | YellowGreen
aquamarine1 | azure1 | beige | black | blue | brown
cyan | gold | gray | green | grey | ivory
lavender | magenta | maroon | navy | orange | orchid
peru | pink | plum | purple | red | salmon
snow | tan | violet | wheat | white | yellow

The color names and values in the 'small' internal color map are selected from the X11 RGB Color Database. If you use SetRGBArray to pick the 'large' color map, PHPlot loads a much larger list of colors equivalent to the entire X11 RGB Color Database. Note that there are some duplicate colors in the maps, as they include alternate spellings (like 'gray' and 'grey').

### 3.5.3. Plotting Colors

Each data set plotted on a graph uses the next color in the Data Colors list. By default, the Data Colors list contains the following 16 colors in order.

Data Set: | Color Name: | Color Sample:
--- | --- | ---
1 | SkyBlue |
2 | green |
3 | orange |
4 | blue |
5 | red |
6 | DarkGreen |
7 | purple |
8 | peru |
9 | cyan |
10 | salmon |
11 | SlateBlue |
12 | YellowGreen |
13 | magenta |
14 | aquamarine1 |
15 | gold |
16 | violet |

An additional color list is used with error plots. These have data type data-data-error (see Section 3.3.1, “Available Data Types”). The positive and negative error bars use a color map that is set using SetErrorBarColors. By default, this color list contains the same colors as the data color list, so each data set and its error bars will be in the same color. If you change the data colors list with SetDataColors, you probably want to use the same color list for the error bars.

For bar charts and stackedbar charts, if shading is off, the color of the bar borders can be set with SetDataBorderColors. By default, unshaded bar charts use a black outline around the bars for all data sets.

Note: PHPlot through version 5.0.7 used 8 colors in the default Data Colors list: SkyBlue, green, orange, blue, orange, red, violet, and azure1. If plotting more than four data sets with PHPlot-5.0.7 or earlier, you should use SetDataColors to define your own data colors list. Otherwise you will get two data sets plotted in the same color, orange.

Instead of using sequential data colors for plotted data sets, you can control exactly which data color is used for each data value using the data color callback. For more information, see Section 4.4, “Custom Data Color Selection”.

### 3.5.4. Transparency

You can designate one color in the color map to be transparent. This is most often used to make a plot with a transparent background. Use SetTransparentColor to designate the color, and SetBackgroundColor to use that color for the background. Use a color which is not otherwise used in the plot.

For transparency to work, the output format (see SetFileFormat) must support transparency, and the the user's viewer or browser also must support transparency. If transparency is not supported, the user will see the actual color which was designated as transparent (so don't use red, for example). Most viewers support transparency in GIF format, and newer viewers should support transparency in PNG format. JPEG format does not support transparency.

### 3.5.5. Plot Element Colors

The following table shows the function used to set the color of each element on a plot.

Plot element: | Function used to set color:
--- | ---
Bar chart bar outlines | SetDataBorderColors
Data elements (points, lines, bar fill, etc.) | SetDataColors
Data value labels | SetTextColor
Error bars | SetErrorBarColors
Image background | SetBackgroundColor
Image border | SetImageBorderColor
Legend background | SetBackgroundColor
Legend color box fill | SetDataColors
Legend color box outline | SetTextColor
Legend outline | SetGridColor
Legend text | SetTextColor
Main title | SetTitleColor
Pie chart data labels | SetGridColor
Pie slice fill | SetDataColors
Pie slice outlines | SetGridColor
Plot area background | SetPlotBgColor
Plot border | SetGridColor
X axis line | SetGridColor
X axis data labels | SetTextColor
X data lines | SetLightGridColor
X grid lines | SetLightGridColor
X tick labels | SetTextColor
X tick marks | SetTickColor
X title | SetXTitleColor, SetTitleColor
Y axis lines | SetGridColor
Y axis data labels | SetTextColor
Y grid lines | SetLightGridColor
Y tick labels | SetTextColor
Y tick marks | SetTickColor
Y title | SetYTitleColor, SetTitleColor

Prev | Up | Next
3.4. PHPlot Plot Types | Home | 3.6. Labels