Blame | Last modification | View Log | RSS feed
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><title>3.4. PHPlot Plot Types</title><link rel="stylesheet" type="text/css" href="phplotdoc.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.78.1" /><link rel="home" href="index.html" title="PHPlot Reference Manual" /><link rel="up" href="concepts.html" title="Chapter 3. PHPlot Concepts" /><link rel="prev" href="conc-datatypes.html" title="3.3. PHPlot Data Types" /><link rel="next" href="conc-colors.html" title="3.5. Colors" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">3.4. PHPlot Plot Types</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="conc-datatypes.html">Prev</a> </td><th width="60%" align="center">Chapter 3. PHPlot Concepts</th><td width="20%" align="right"> <a accesskey="n" href="conc-colors.html">Next</a></td></tr></table><hr /></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="conc-plottypes"></a>3.4. PHPlot Plot Types</h2></div></div></div><div class="abstract"><p class="title"><strong></strong></p><p>This section describes the PHPlot plot types and their individual datatype requirements.</p></div><p>Plot types determine the overall look of thegraphical representation of the data values. To select the plot type,use <a class="xref" href="SetPlotType.html" title="SetPlotType"><span class="refentrytitle">SetPlotType</span></a>.The following plot types are available:</p><div class="informaltable"><table summary="Available plot types" border="1"><colgroup><col align="center" class="c1" /><col align="center" class="c2" /><col class="c3" /></colgroup><thead><tr><th colspan="2" align="center">Plot Type</th><th>Description</th></tr></thead><tbody valign="middle"><tr><td align="center" valign="middle"><span class="inlinemediaobject"><img src="images/thumbnail-area.png" alt="area plot thumbnail" /></span></td><td align="center" valign="middle"><a class="link" href="conc-plottypes.html#plottype-area" title="3.4.1. Plot Type: area (Area Plot)">area</a></td><td valign="middle">Filled areas between lines. Also known as <span class="emphasis"><em>cumulativeline plot</em></span> or <span class="emphasis"><em>component line plot</em></span>.</td></tr><tr><td align="center" valign="middle"><span class="inlinemediaobject"><img src="images/thumbnail-bars.png" alt="bars plot thumbnail" /></span></td><td align="center" valign="middle"><a class="link" href="conc-plottypes.html#plottype-bars" title="3.4.2. Plot Type: bars (Bar Plot)">bars</a></td><td valign="middle">Filled bars with optional 3-D look. Multiple datasets are offset.</td></tr><tr><td align="center" valign="middle"><span class="inlinemediaobject"><img src="images/thumbnail-boxes.png" alt="box plot thumbnail" /></span></td><td align="center" valign="middle"><a class="link" href="conc-plottypes.html#plottype-boxes" title="3.4.3. Plot Type: boxes (Box Plot)">boxes</a></td><td valign="middle">Box plot, showing a 5-number statistical summary of a data set.</td></tr><tr><td align="center" valign="middle"><span class="inlinemediaobject"><img src="images/thumbnail-bubbles.png" alt="bubbles plot thumbnail" /></span></td><td align="center" valign="middle"><a class="link" href="conc-plottypes.html#plottype-bubbles" title="3.4.4. Plot Type: bubbles (Bubble Plot)">bubbles</a></td><td valign="middle">A scatter-point plot using bubbles (filled circles), with thebubble size proportional to a Z value.</td></tr><tr><td align="center" valign="middle"><span class="inlinemediaobject"><img src="images/thumbnail-candlesticks.png" alt="candlesticks plot thumbnail" /></span></td><td align="center" valign="middle"><a class="link" href="conc-plottypes.html#plottype-candlesticks" title="3.4.5. Plot Type: candlesticks (OHLC Candlesticks Plot)">candlesticks</a></td><td valign="middle">An Open/High/Low/Close (OHLC) financial plot using filledand unfilled candlesticks.</td></tr><tr><td align="center" valign="middle"><span class="inlinemediaobject"><img src="images/thumbnail-candlesticks2.png" alt="candlesticks2 plot thumbnail" /></span></td><td align="center" valign="middle"><a class="link" href="conc-plottypes.html#plottype-candlesticks2" title="3.4.6. Plot Type: candlesticks2 (OHLC Filled Candlesticks Plot)">candlesticks2</a></td><td valign="middle">An Open/High/Low/Close (OHLC) financial plot using filledcandlesticks.</td></tr><tr><td align="center" valign="middle"><span class="inlinemediaobject"><img src="images/thumbnail-linepoints.png" alt="linepoints plot thumbnail" /></span></td><td align="center" valign="middle"><a class="link" href="conc-plottypes.html#plottype-linepoints" title="3.4.7. Plot Type: linepoints (Lines and Points Plot)">linepoints</a></td><td valign="middle">Lines between points, with a marker at each point, and optionalerror bars.</td></tr><tr><td align="center" valign="middle"><span class="inlinemediaobject"><img src="images/thumbnail-lines.png" alt="lines plot thumbnail" /></span></td><td align="center" valign="middle"><a class="link" href="conc-plottypes.html#plottype-lines" title="3.4.8. Plot Type: lines (Lines Plot)">lines</a></td><td valign="middle">Straight lines between data points, with optional error bars.</td></tr><tr><td align="center" valign="middle"><span class="inlinemediaobject"><img src="images/thumbnail-ohlc.png" alt="ohlc plot thumbnail" /></span></td><td align="center" valign="middle"><a class="link" href="conc-plottypes.html#plottype-ohlc" title="3.4.9. Plot Type: ohlc (Basic OHLC Plot)">ohlc</a></td><td valign="middle">A basic Open/High/Low/Close (OHLC) financial plot using linesand ticks.</td></tr><tr><td align="center" valign="middle"><span class="inlinemediaobject"><img src="images/thumbnail-pie.png" alt="pie plot thumbnail" /></span></td><td align="center" valign="middle"><a class="link" href="conc-plottypes.html#plottype-pie" title="3.4.10. Plot Type: pie (Pie Plot)">pie</a></td><td valign="middle">Pie chart with or without 3-D affects.</td></tr><tr><td align="center" valign="middle"><span class="inlinemediaobject"><img src="images/thumbnail-points.png" alt="points plot thumbnail" /></span></td><td align="center" valign="middle"><a class="link" href="conc-plottypes.html#plottype-points" title="3.4.11. Plot Type: points (Styled Dot Plot)">points</a></td><td valign="middle">Draws a marker at each data point, with optional error bars.</td></tr><tr><td align="center" valign="middle"><span class="inlinemediaobject"><img src="images/thumbnail-squared.png" alt="squared plot thumbnail" /></span></td><td align="center" valign="middle"><a class="link" href="conc-plottypes.html#plottype-squared" title="3.4.12. Plot Type: squared (Squared Plot)">squared</a></td><td valign="middle">Stepped lines, also called squared lines.</td></tr><tr><td align="center" valign="middle"><span class="inlinemediaobject"><img src="images/thumbnail-squaredarea.png" alt="squaredarea plot thumbnail" /></span></td><td align="center" valign="middle"><a class="link" href="conc-plottypes.html#plottype-squaredarea" title="3.4.13. Plot Type: squaredarea (Squared Area Plot)">squaredarea</a></td><td valign="middle">Filled area between stepped lines.</td></tr><tr><td align="center" valign="middle"><span class="inlinemediaobject"><img src="images/thumbnail-stackedarea.png" alt="stackedarea plot thumbnail" /></span></td><td align="center" valign="middle"><a class="link" href="conc-plottypes.html#plottype-stackedarea" title="3.4.14. Plot Type: stackedarea (Stacked Area Plot)">stackedarea</a></td><td valign="middle">Filled areas between lines, with multiple data sets accumulated.</td></tr><tr><td align="center" valign="middle"><span class="inlinemediaobject"><img src="images/thumbnail-stackedbars.png" alt="stackedbars plot thumbnail" /></span></td><td align="center" valign="middle"><a class="link" href="conc-plottypes.html#plottype-stackedbars" title="3.4.15. Plot Type: stackedbars (Stacked Bar Plot)">stackedbars</a></td><td valign="middle">Filled bars with optional 3-D look. Multiple data setsare accumulated and the sum is graphed.</td></tr><tr><td align="center" valign="middle"><span class="inlinemediaobject"><img src="images/thumbnail-stackedsquaredarea.png" alt="stackedsquaredarea plot thumbnail" /></span></td><td align="center" valign="middle"><a class="link" href="conc-plottypes.html#plottype-stackedsquaredarea" title="3.4.16. Plot Type: stackedsquaredarea (Stacked Squared Area Plot)">stackedsquaredarea</a></td><td valign="middle">Filled areas between stepped lines, with multiple data sets accumulated.</td></tr><tr><td align="center" valign="middle"><span class="inlinemediaobject"><img src="images/thumbnail-thinbarline.png" alt="thinbarline plot thumbnail" /></span></td><td align="center" valign="middle"><a class="link" href="conc-plottypes.html#plottype-thinbarline" title="3.4.17. Plot Type: thinbarline (Thin Bar Line Plot)">thinbarline</a></td><td valign="middle">Vertical lines from the X axis to the value, or horizontal linesfrom the Y axis to the value. Also known as <span class="emphasis"><em>impulse</em></span>.</td></tr></tbody></table></div><p></p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="plottype-area"></a>3.4.1. Plot Type: area (Area Plot)</h3></div></div></div><p>This plot type draws filled areas between lines.This is often called a <span class="emphasis"><em>cumulative line plot</em></span> or<span class="emphasis"><em>component line plot</em></span>.Each data set (set of corresponding Y values from each record in thedata array) is plotted in order, with the areabetween each line and the next line filled solid. The area between thelast line and the X axis<a href="#ftn.fnareaplotfill" class="footnote" id="fnareaplotfill"><sup class="footnote">[2]</sup></a> is also filled.The data must be arrangedso the values are (generally) decreasing within each row, because laterdrawn filled areas will cover previously drawn areas.</p><p>This plot type works with data types <a class="xref" href="conc-datatypes.html#text-data">text-data</a>and <a class="xref" href="conc-datatypes.html#data-data">data-data</a>.For 'text-data', the data X values are assumed to be at 0.5+N for N=0,1,2...</p><p>A minimum of 2 rows (X values and corresponding Y value(s)) is required forthis plot type. If there are fewer than 2 rows, an empty plot will be produced.</p><p>This plot type uses the absolute value of each supplied Y, because negativevalues do not make sense here. Missing values are taken as zero.All records in the data array must have the same number of Y values.</p><p>The areas are filled with colors as set with <a class="xref" href="SetDataColors.html" title="SetDataColors"><span class="refentrytitle">SetDataColors</span></a>.If data borders are enabled with <a class="xref" href="SetDrawDataBorders.html" title="SetDrawDataBorders"><span class="refentrytitle">SetDrawDataBorders</span></a>,then a border is drawn around each area fill, using the colors set with<a class="xref" href="SetDataBorderColors.html" title="SetDataBorderColors"><span class="refentrytitle">SetDataBorderColors</span></a>.(Data borders for <code class="literal">area</code> plots were addedin PHPlot-6.2.0.)By default, no data borders are drawn.</p><p>An example of this plot type can be seen in<a class="xref" href="ex-area1.html" title="5.3. Example - Area Plot">Section 5.3, “Example - Area Plot”</a>.</p><p>The <code class="literal">area</code> plot type is similar to the<a class="link" href="conc-plottypes.html#plottype-stackedarea" title="3.4.14. Plot Type: stackedarea (Stacked Area Plot)">stackedarea</a> plot type.When plotting a single data set (1 Y value per X),the two plot types are identical.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="plottype-bars"></a>3.4.2. Plot Type: bars (Bar Plot)</h3></div></div></div><p>This plot type draws a bar chart, with filled rectangles.Both vertical and horizontal bar charts are available.The bars are centered on the X values (for vertical charts),or on the Y values (for horizontal charts).The rectangles can have a 3-D look (without borders, by default),or be flat (with borders, by default).Multiple data-set plots work, with each one producing a set of barsoffset from the previous set.</p><p>For vertical bars, use data type <a class="xref" href="conc-datatypes.html#text-data">text-data</a>.The data X values are assumed to be at 0.5+N for N=0,1,2...For horizontal bars, use data type <a class="xref" href="conc-datatypes.html#text-data-yx">text-data-yx</a>.The data Y values are assumed to be at 0.5+N for N=0,1,2...No other data type works with bar graphs.</p><p>If shading is on with <a class="xref" href="SetShading.html" title="SetShading"><span class="refentrytitle">SetShading</span></a> (default is on with value5 pixels), then the bars have a 3-D look. If shading is off(<code class="function">SetShading(0)</code>), the bars are flat rectangles.The filled bar colors are set with <a class="xref" href="SetDataColors.html" title="SetDataColors"><span class="refentrytitle">SetDataColors</span></a>.Data borders are drawn by default when shading is off.Use <a class="xref" href="SetDrawDataBorders.html" title="SetDrawDataBorders"><span class="refentrytitle">SetDrawDataBorders</span></a> to enable or disable the borders.If the borders are on, the border colors can be set with<a class="xref" href="SetDataBorderColors.html" title="SetDataBorderColors"><span class="refentrytitle">SetDataBorderColors</span></a>.</p><p>An empty string (or any non-numeric value) for the dependent variable(Y for vertical plots, X for horizontal plots) indicates a missing point.No bar will be drawn at missing point positions.</p><p>See also <a class="xref" href="adv-tuning.html#adv-tuning-bars" title="4.7.1. Tuning Bar Charts">Section 4.7.1, “Tuning Bar Charts”</a>.</p><p>Examples of this plot type can be seen in<a class="xref" href="ex-bars1.html" title="5.4. Example - Bar Chart">Section 5.4, “Example - Bar Chart”</a>,<a class="xref" href="ex-bars2.html" title="5.5. Example - Unshaded Bar Chart">Section 5.5, “Example - Unshaded Bar Chart”</a>,<a class="xref" href="ex-bars3.html" title="5.6. Example - Bar Chart, Label Options">Section 5.6, “Example - Bar Chart, Label Options”</a>,<a class="xref" href="ex-bars4.html" title="5.19. Example - Bar Chart with Data Value Labels">Section 5.19, “Example - Bar Chart with Data Value Labels”</a>, and<a class="xref" href="ex-horizbar.html" title="5.27. Example - Horizontal Bar Chart">Section 5.27, “Example - Horizontal Bar Chart”</a>.</p><p>The <code class="literal">bars</code> plot type is similar to the<a class="link" href="conc-plottypes.html#plottype-stackedbars" title="3.4.15. Plot Type: stackedbars (Stacked Bar Plot)">stackedbars</a> plot type.When plotting a single data set,the two plot types are identical.</p><p>Horizontal bar plots were added in PHPlot-5.1.2.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="plottype-boxes"></a>3.4.3. Plot Type: boxes (Box Plot)</h3></div></div></div><p>A box plot uses groups of 5 or more numbers to plot a statistical summary of adata set.(This is sometimes called a <span class="emphasis"><em>box and whisker plot</em></span>.)The first 5 Y values in each row are referred to as Ymin, YQ1, Ymid, YQ3, andYmax. By convention, these represent:</p><div class="informaltable"><table summary="Numbers in a box plot" border="1"><colgroup><col class="c1" /><col class="c2" /></colgroup><thead><tr><th>Value</th><th>Description</th></tr></thead><tbody><tr><td>Ymin</td><td>Minimum value.Sometimes used as 5th or 9th percentile instead.</td></tr><tr><td>YQ1</td><td>Lower quartile - 25th percentile, meaning 25% of the datapoints are below this value, and 75% are above.</td></tr><tr><td>Ymid</td><td>Median - 50th percentile, meaning half the data points arebelow this value, and half are above.</td></tr><tr><td>YQ3</td><td>Upper quartile - 75th percentile, meaning 75% of the datapoints are below this value, and 25% are above.</td></tr><tr><td>Ymax</td><td>Maximum value.Sometimes used as 95th or 91st percentile instead.</td></tr></tbody></table></div><p></p><p>Any additional numbers (beyond 5) in each row represent outliers. Theseare generally points outside the range of Ymin and Ymax, and are used when Yminand Ymax are for some low and high (respectively) percentile values, such as5th and 95th.</p><p>At each X value, a box plot has the following features:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>box: A rectangular box is drawn from YQ1 to YQ3.</p></li><li class="listitem"><p>belt: A horizontal line is drawn through the box at the median position Ymid.</p></li><li class="listitem"><p>lower whisker: A vertical line is drawn from the bottom center of the box atthe YQ1 position down to the Ymin position, and an upside-down 'T' is drawnat Ymin.</p></li><li class="listitem"><p>upper whisker: A vertical line is drawn from the top center of the box atthe YQ3 position up to the Ymax position, and a 'T' is drawn at Ymax.</p></li><li class="listitem"><p>outliers: If there are any additional values in the row, a marker point(similar to that drawn in a <a class="link" href="conc-plottypes.html#plottype-points" title="3.4.11. Plot Type: points (Styled Dot Plot)">points</a> plot)is drawn at each given Y value.</p></li></ul></div><p></p><p>Note that PHPlot does not force any particular interpretation on the numbersin each row. It draws a box, belt, two whiskers, and zero or more outliersat each X as described above.PHPlot does however require that the numbers be in order:Ymin <= YQ1 <= Ymid <= YQ3 <= YmaxAny outlier values should be greater than Ymax, or less than Ymin, butPHPlot does not enforce that.</p><p>This plot type works with data types <a class="xref" href="conc-datatypes.html#text-data">text-data</a>and <a class="xref" href="conc-datatypes.html#data-data">data-data</a>.For 'text-data', the data X values are assumed to be at 0.5+N for N=0,1,2...</p><p>This plot type requires 5 or more Y values for each X.Multiple data sets are not supported.A missing point is indicated by using an empty string (or any non-numericvalue) for either YQ1 or YQ3 (or both). Nothing at all will be drawn atthat position.If the median value Ymin is an empty string or non-numeric, the belt(median line) is not drawn, but the rest of the box plot features are.If either Ymin or Ymax are empty strings or non-numeric, the correspondingwhisker and 'T' end will not be drawn.Finally, any empty strings or non-numeric values in the outlier positionsof the data array row are ignored.Regardless of missing values, every row in the data array must still have atleast 5 entries for Y values.</p><p>This plot type uses 4 colors from the data colors array, indexes 0 through 3.You can use <a class="xref" href="SetDataColors.html" title="SetDataColors"><span class="refentrytitle">SetDataColors</span></a> to change the colors used in theplot.Color 0 is used for the box, color 1 is used for the belt (median line),color 2 is used for the outliers, and color 3 is used for the whiskers(including the 'T' at the top and bottom).</p><p><a class="xref" href="SetLineWidths.html" title="SetLineWidths"><span class="refentrytitle">SetLineWidths</span></a> can be used to set line widths.Index 0 will be used to draw the box, index 1 is used to draw the belt(median line), and index 2 is used to draw the whiskers and 'T' ends.</p><p>The whiskers in a box plot are drawn using the first line style, which defaultsto a solid line. Box plots sometimes use dashed lines for the whiskers.Use <a class="xref" href="SetLineStyles.html" title="SetLineStyles"><span class="refentrytitle">SetLineStyles</span></a><code class="literal">('dashed')</code>to have the whiskers drawn as dashed lines.All other features of a box plot (box, belt, and 'T' ends) use solid lines.</p><p>See also <a class="xref" href="adv-tuning.html#adv-tuning-boxes" title="4.7.2. Tuning Box Plots">Section 4.7.2, “Tuning Box Plots”</a>.</p><p>Examples of this plot type can be seen in<a class="xref" href="ex-boxplot1.html" title="5.50. Example - Box Plot with Data Reduction">Section 5.50, “Example - Box Plot with Data Reduction”</a> and <a class="xref" href="ex-boxplot2.html" title="5.51. Example - Box Plot with Outliers and Styles">Section 5.51, “Example - Box Plot with Outliers and Styles”</a>.</p><p>Box plots were added in PHPlot-6.1.0.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="plottype-bubbles"></a>3.4.4. Plot Type: bubbles (Bubble Plot)</h3></div></div></div><p>This plot type produces a scatter-plot using filled circles, with the diameterof each circle representing a Z value for the point.The range of Z values in the plot is linearly mapped into a range of bubblesizes, with the lowest plotted Z value producing a bubble with the minimum size,and the largest Z value producing the largest bubble.The smallest and largest bubble sizes are automatically calculatedbased on the plot area size, but see also <a class="xref" href="adv-tuning.html#adv-tuning-bubbles" title="4.7.3. Tuning Bubble Plots">Section 4.7.3, “Tuning Bubble Plots”</a>.Note: There is no way to display the actual numeric Z values on the plot.</p><p>Multiple data sets work, with more than one (Y,Z) pair for each X. Thebubbles will be drawn using the corresponding colors in the data colorsarray, as set with <a class="xref" href="SetDataColors.html" title="SetDataColors"><span class="refentrytitle">SetDataColors</span></a>.With multiple data sets (or even a single data set), you may findthe plot easier to read when using semi-transparent data colors asdescribed in <a class="xref" href="adv-truecolor.html#adv-truecolor-using-alpha" title="4.3.3. Using Variable Transparency (Alpha) in PHPlot">Section 4.3.3, “Using Variable Transparency (Alpha) in PHPlot”</a>.</p><p>This plot type only works with data type <a class="xref" href="conc-datatypes.html#data-data-xyz">data-data-xyz</a>.Each (X,Y,Z) triplet from the data array produces a bubble on the plot.</p><p>An empty string (or any non-numeric value) for Y indicates a missing pointand will not be plotted. A corresponding Z entry must be provided in thedata array, but the value is ignored.</p><p>See also <a class="xref" href="adv-tuning.html#adv-tuning-bubbles" title="4.7.3. Tuning Bubble Plots">Section 4.7.3, “Tuning Bubble Plots”</a>.</p><p>An example of this plot type can be seen in<a class="xref" href="ex-bubbles1.html" title="5.40. Example - Bubbles Plot">Section 5.40, “Example - Bubbles Plot”</a>.</p><p>Bubble plots were added in PHPlot-5.5.0.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="plottype-candlesticks"></a>3.4.5. Plot Type: candlesticks (OHLC Candlesticks Plot)</h3></div></div></div><p>This plot type represents the changing price of a financial instrument(such as a stock or other security) over time.At each time point, 4 values are plotted: the opening price, the highest price,the lowest price, and the closing price.The candlesticks plot type is one of three Open/High/Low/Close (OHLC) plottypes available. It shows the opening and closing prices as the top and bottomof a narrow rectangle (the candlestick), with an upper wick showing thehighest price, and a lower wick showing the lowest price.The candlestick body is drawn solid filled if the closing price is lowerthan the opening price, and as an outline (unfilled) if the closing priceis higher than the opening price.(For a variation on this, see<a class="link" href="conc-plottypes.html#plottype-candlesticks2" title="3.4.6. Plot Type: candlesticks2 (OHLC Filled Candlesticks Plot)">candlesticks2</a>.)</p><p>This plot type works with data types <a class="xref" href="conc-datatypes.html#text-data">text-data</a>and <a class="xref" href="conc-datatypes.html#data-data">data-data</a>.For 'text-data', the data X values are assumed to be at 0.5+N for N=0,1,2...</p><p>This plot type requires exactly 4 Y values for each X. These represent theOpen, High, Low, and Close prices in that order.Multiple data sets are not supported.A missing point is indicated by using four empty strings(or any non-numeric value) for the 4 Y values.(Missing points were not allowed for this plot type in PHPlot-5.4.0 and earlier.)</p><p>This plot type uses 4 colors from the data colors array, index 0 through 3.If the security closed lower than it opened for that time period,then color 0 is used for the candlestick body, and color 2 is usedfor the upper and lower wicks.If the security closed higher or the same as it opened for that time period,then color 1 is used for the candlestick body, and color 3 is usedfor the upper and lower wicks.</p><p><a class="xref" href="SetLineWidths.html" title="SetLineWidths"><span class="refentrytitle">SetLineWidths</span></a> can be used to set line widths.Index 0 will be used to draw the candlestick bodies, however this onlyapplies to outlined candlestick bodies (drawn when the security closes up).The line width is not used for filled candlestick bodies (drawn when thesecurity closes down).Line width index 1 will be used to draw the wicks.</p><p>See also <a class="xref" href="adv-tuning.html#adv-tuning-ohlc" title="4.7.4. Tuning OHLC Charts">Section 4.7.4, “Tuning OHLC Charts”</a>.</p><p>An example of this plot type can be seen in<a class="xref" href="ex-ohlccandlesticks.html" title="5.31. Example - Candlesticks OHLC (Open, High, Low, Close) Financial Plot">Section 5.31, “Example - Candlesticks OHLC (Open, High, Low, Close) Financial Plot”</a>.</p><p>This plot type was added in PHPlot-5.3.0.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="plottype-candlesticks2"></a>3.4.6. Plot Type: candlesticks2 (OHLC Filled Candlesticks Plot)</h3></div></div></div><p>This plot type represents the changing price of a financial instrument(such as a stock or other security) over time.The candlesticks2 plot type is the same as the<a class="link" href="conc-plottypes.html#plottype-candlesticks" title="3.4.5. Plot Type: candlesticks (OHLC Candlesticks Plot)">candlesticks</a> plot type,except the candlestick bodies are always drawn filled, regardless of whetherthe security closes up or down.</p><p>Color usage is the same as with candlesticks plots, with the first 4 datacolors used (index 0 through 3).If the security closed down, color 0 is used for the body, and color 2 is usedfor the wicks. If the security closed up or the same, color 1 is used for thebody, and color 3 is used for the wicks.Be sure to set data colors 0 and 2 with <a class="xref" href="SetDataColors.html" title="SetDataColors"><span class="refentrytitle">SetDataColors</span></a>for this plot type. Unlike candlesticks, candlesticks2 plots use only color toshow the difference between a security closing up or closing down.The default colors in these slots (sky blue and orange) are probably notappropriate.</p><p>Line width usage is similar to candlesticks plots, except that thecandlestick bodies are always filled so line width index 0 (body outlineline width) is never used. Line width index 1 is used for the wicks.</p><p>This plot type works with data types <a class="xref" href="conc-datatypes.html#text-data">text-data</a>and <a class="xref" href="conc-datatypes.html#data-data">data-data</a>.For 'text-data', the data X values are assumed to be at 0.5+N for N=0,1,2...</p><p>This plot type requires exactly 4 Y values for each X. These represent theOpen, High, Low, and Close prices in that order.Multiple data sets are not supported.A missing point is indicated by using four empty strings(or any non-numeric value) for the 4 Y values.(Missing points were not allowed for this plot type in PHPlot-5.4.0 and earlier.)</p><p>See also <a class="xref" href="adv-tuning.html#adv-tuning-ohlc" title="4.7.4. Tuning OHLC Charts">Section 4.7.4, “Tuning OHLC Charts”</a>.</p><p>An example of this plot type can be seen in<a class="xref" href="ex-ohlccandlesticks2.html" title="5.32. Example - Filled Candlesticks OHLC (Open, High, Low, Close) Financial Plot">Section 5.32, “Example - Filled Candlesticks OHLC (Open, High, Low, Close) Financial Plot”</a>.</p><p>This plot type was added in PHPlot-5.3.0.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="plottype-linepoints"></a>3.4.7. Plot Type: linepoints (Lines and Points Plot)</h3></div></div></div><p>This plot type draws a line graph with a marker at each point, thuscombining the 'lines' and 'points' plot types.</p><p>This plot type works with data types <a class="xref" href="conc-datatypes.html#text-data">text-data</a>and <a class="xref" href="conc-datatypes.html#data-data">data-data</a>.For 'text-data', the data X values are assumed to be at 0.5+N for N=0,1,2...It also works with <a class="xref" href="conc-datatypes.html#data-data-error">data-data-error</a> for error plots.These produce the usual vertical plots.</p><p>This plot type also works with data types <a class="xref" href="conc-datatypes.html#text-data-yx">text-data-yx</a>and <a class="xref" href="conc-datatypes.html#data-data-yx">data-data-yx</a> to produce horizontal plots, and withdata type <a class="xref" href="conc-datatypes.html#data-data-yx-error">data-data-yx-error</a> to produce horizontal errorplots.For 'text-data-yx', the data Y values are assumed to be at 0.5+N for N=0,1,2...(Horizontal 'linepoints' plots were added in PHPlot-6.0.0.Horizontal 'linepoints' error plots were added in PHPlot-6.1.0.)</p><p>An empty string (or any non-numeric value) for the dependent variable(Y for vertical plots, X for horizontal plots) indicates a missing point.PHPlot can either skip the line segments around missing points, or connectthe adjacent points. See <a class="xref" href="SetDrawBrokenLines.html" title="SetDrawBrokenLines"><span class="refentrytitle">SetDrawBrokenLines</span></a> for details.</p><p>Line and marker colors for each line are set with<a class="xref" href="SetDataColors.html" title="SetDataColors"><span class="refentrytitle">SetDataColors</span></a>.Marker styles for each line are set with <a class="xref" href="SetPointShapes.html" title="SetPointShapes"><span class="refentrytitle">SetPointShapes</span></a>.Marker sizes for each line are set with <a class="xref" href="SetPointSizes.html" title="SetPointSizes"><span class="refentrytitle">SetPointSizes</span></a>.Line widths for each line are set with <a class="xref" href="SetLineWidths.html" title="SetLineWidths"><span class="refentrytitle">SetLineWidths</span></a>.Line styles (solid or dashed) for each line are set with<a class="xref" href="SetLineStyles.html" title="SetLineStyles"><span class="refentrytitle">SetLineStyles</span></a>.</p><p>You can also suppress the line, or the markers, for individual data setsin a graph.This allows you combine points-only, lines-only, and line/points plots.Refer to <a class="xref" href="SetLineStyles.html" title="SetLineStyles"><span class="refentrytitle">SetLineStyles</span></a> and <a class="xref" href="SetPointShapes.html" title="SetPointShapes"><span class="refentrytitle">SetPointShapes</span></a>for details.</p><p>For error plots only:Error bar colors for each line are set with <a class="xref" href="SetErrorBarColors.html" title="SetErrorBarColors"><span class="refentrytitle">SetErrorBarColors</span></a>.Error bar shape (tee or line) is set with <a class="xref" href="SetErrorBarShape.html" title="SetErrorBarShape"><span class="refentrytitle">SetErrorBarShape</span></a>.If tee-shaped error bars are used, the width of theupper and lower 'tee' is set with <a class="xref" href="SetErrorBarSize.html" title="SetErrorBarSize"><span class="refentrytitle">SetErrorBarSize</span></a>.Error bar line width is set with <a class="xref" href="SetErrorBarLineWidth.html" title="SetErrorBarLineWidth"><span class="refentrytitle">SetErrorBarLineWidth</span></a>.</p><p>Example of this plot type can be seen in<a class="xref" href="ex-linepoints1.html" title="5.7. Example - Line/Point Plot, Point Shapes">Section 5.7, “Example - Line/Point Plot, Point Shapes”</a> and <a class="xref" href="ex-horizlinepts.html" title="5.48. Example - Horizontal Linepoints Plot with Data Value Labels and Lines">Section 5.48, “Example - Horizontal Linepoints Plot with Data Value Labels and Lines”</a>.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="plottype-lines"></a>3.4.8. Plot Type: lines (Lines Plot)</h3></div></div></div><p>This plot type simply draws a line from each point to the next.</p><p>This plot type works with data types <a class="xref" href="conc-datatypes.html#text-data">text-data</a>and <a class="xref" href="conc-datatypes.html#data-data">data-data</a>.For 'text-data', the data X values are assumed to be at 0.5+N for N=0,1,2...It also works with <a class="xref" href="conc-datatypes.html#data-data-error">data-data-error</a> for error plots.These produce the usual vertical plots.</p><p>This plot type also works with data types <a class="xref" href="conc-datatypes.html#text-data-yx">text-data-yx</a>and <a class="xref" href="conc-datatypes.html#data-data-yx">data-data-yx</a> to produce horizontal plots, and withdata type <a class="xref" href="conc-datatypes.html#data-data-yx-error">data-data-yx-error</a> to produce horizontal errorplots.For 'text-data-yx', the data Y values are assumed to be at 0.5+N for N=0,1,2...(Horizontal 'lines' plots were added in PHPlot-6.0.0.Horizontal 'lines' error plots were added in PHPlot-6.1.0.)</p><p>An empty string (or any non-numeric value) for the dependent variable(Y for vertical plots, X for horizontal plots) indicates a missing point.PHPlot can either skip the line segments around missing points, or connectthe adjacent points. See <a class="xref" href="SetDrawBrokenLines.html" title="SetDrawBrokenLines"><span class="refentrytitle">SetDrawBrokenLines</span></a> for details.</p><p>Line colors for each line are set with <a class="xref" href="SetDataColors.html" title="SetDataColors"><span class="refentrytitle">SetDataColors</span></a>.Line widths for each line are set with <a class="xref" href="SetLineWidths.html" title="SetLineWidths"><span class="refentrytitle">SetLineWidths</span></a>.Line styles (solid or dashed) for each line are set with<a class="xref" href="SetLineStyles.html" title="SetLineStyles"><span class="refentrytitle">SetLineStyles</span></a>.</p><p>For error plots only:Error bar colors for each line are set with <a class="xref" href="SetErrorBarColors.html" title="SetErrorBarColors"><span class="refentrytitle">SetErrorBarColors</span></a>.Error bar shape (tee or line) is set with <a class="xref" href="SetErrorBarShape.html" title="SetErrorBarShape"><span class="refentrytitle">SetErrorBarShape</span></a>.If tee-shaped error bars are used, the width of theupper and lower 'tee' is set with <a class="xref" href="SetErrorBarSize.html" title="SetErrorBarSize"><span class="refentrytitle">SetErrorBarSize</span></a>.Error bar line width is set with <a class="xref" href="SetErrorBarLineWidth.html" title="SetErrorBarLineWidth"><span class="refentrytitle">SetErrorBarLineWidth</span></a>.</p><p>Examples of this plot type can be seen in<a class="xref" href="examples.html#ex-lines1" title="5.1. Example - Line Plot">Section 5.1, “Example - Line Plot”</a> and<a class="xref" href="ex-lines2.html" title="5.2. Example - Line Plot: Functions">Section 5.2, “Example - Line Plot: Functions”</a>.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="plottype-ohlc"></a>3.4.9. Plot Type: ohlc (Basic OHLC Plot)</h3></div></div></div><p>This plot type represents the changing price of a financial instrument(such as a stock or other security) over time.At each time point, 4 values are plotted: the opening price, the highest price,the lowest price, and the closing price.The ohlc plot type is one of three Open/High/Low/Close (OHLC) plottypes available. It shows a vertical line connecting the low and high prices,with small horizontal tick marks showing the opening and closing prices.The opening price tick mark is on the left of the vertical line, and theclosing price tick mark is on the right.</p><p>This plot type works with data types <a class="xref" href="conc-datatypes.html#text-data">text-data</a>and <a class="xref" href="conc-datatypes.html#data-data">data-data</a>.For 'text-data', the data X values are assumed to be at 0.5+N for N=0,1,2...</p><p>This plot type requires exactly 4 Y values for each X. These represent theOpen, High, Low, and Close prices in that order.Multiple data sets are not supported.A missing point is indicated by using four empty strings(or any non-numeric value) for the 4 Y values.(Missing points were not allowed for this plot type in PHPlot-5.4.0 and earlier.)</p><p>This plot type uses 4 colors from the data colors array.If the security closed lower than it opened for that time period,then color 0 is used for the vertical line, and color 2 is usedfor the open and close tick marks.If the security closed higher or the same as it opened for that time period,then color 1 is used for the vertical line, and color 3 is usedfor the open and close tick marks.</p><p><a class="xref" href="SetLineWidths.html" title="SetLineWidths"><span class="refentrytitle">SetLineWidths</span></a> can be used to set line widths.Index 0 will be used to draw the vertical lines, and index 1 willbe used to draw the tick marks.</p><p>See also <a class="xref" href="adv-tuning.html#adv-tuning-ohlc" title="4.7.4. Tuning OHLC Charts">Section 4.7.4, “Tuning OHLC Charts”</a>.</p><p>An example of this plot type can be seen in<a class="xref" href="ex-ohlcbasic.html" title="5.30. Example - Basic OHLC (Open, High, Low, Close) Financial Plot">Section 5.30, “Example - Basic OHLC (Open, High, Low, Close) Financial Plot”</a>.</p><p>This plot type was added in PHPlot-5.3.0.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="plottype-pie"></a>3.4.10. Plot Type: pie (Pie Plot)</h3></div></div></div><p>This plot type draws pie charts. The pie chart can have a 3-D look or bedrawn flat.By default, the first pie segment starts at 0 degrees (East, or 3:00 on ananalog clock face) and segments go around the pie in a counter-clockwisedirection. (The start point and direction can be changed with<a class="xref" href="SetPieStartAngle.html" title="SetPieStartAngle"><span class="refentrytitle">SetPieStartAngle</span></a> and <a class="xref" href="SetPieDirection.html" title="SetPieDirection"><span class="refentrytitle">SetPieDirection</span></a>.)Each segment can be labeled. By default, the labels show the percentage ofeach segment.</p><p>This plot type works with data types <a class="xref" href="conc-datatypes.html#text-data">text-data</a>,<a class="xref" href="conc-datatypes.html#data-data">data-data</a>, and <a class="xref" href="conc-datatypes.html#text-data-single">text-data-single</a>.Data arrays for pie charts are handled differently from with other plot types,so the data types are described in more detail below.</p><p>If shading is on with <a class="xref" href="SetShading.html" title="SetShading"><span class="refentrytitle">SetShading</span></a> (default is on with value5 pixels), then the pie chart has a 3-D look. If shading is off(<code class="function">SetShading(0)</code>), the pie chart is drawn flat (circularrather than oval).The position of the segment labels is set with<a class="xref" href="SetLabelScalePosition.html" title="SetLabelScalePosition"><span class="refentrytitle">SetLabelScalePosition</span></a>.The content and formatting of the segment labels is controlled with<a class="xref" href="SetPieLabelType.html" title="SetPieLabelType"><span class="refentrytitle">SetPieLabelType</span></a>.</p><p>Missing values (an empty string or any non-numeric value) are taken as zero.Any segment with arc angle less than 1 degree will not be drawn. (This isdue to the PHP GD implementation of <code class="function">imagefilledarc</code>,which uses integer degrees.)</p><p>See also <a class="xref" href="adv-tuning.html#adv-tuning-pie" title="4.7.5. Tuning Pie Charts">Section 4.7.5, “Tuning Pie Charts”</a>.</p><p>Examples of this plot type can be seen in<a class="xref" href="ex-pie1.html" title="5.8. Example - Pie Chart, text-data-single">Section 5.8, “Example - Pie Chart, text-data-single”</a> (text-data-single),<a class="xref" href="ex-pie2.html" title="5.9. Example - Pie Chart, text-data">Section 5.9, “Example - Pie Chart, text-data”</a> (text-data), and<a class="xref" href="ex-pie3.html" title="5.10. Example - Pie Chart, flat with options">Section 5.10, “Example - Pie Chart, flat with options”</a> (unshaded).</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="plottype-pie-tds"></a>3.4.10.1. Pie Chart with data type: 'text-data-single'</h4></div></div></div><p>The data array for pie charts with 'text-data-single' data type isstructured as follows.Each record in the data array represents a pie segment.The record is an array of 2 elements: label and value.By default, the labels from the data array are ignored, but these can beused to label the pie segments with <a class="xref" href="SetPieLabelType.html" title="SetPieLabelType"><span class="refentrytitle">SetPieLabelType</span></a>.The values in the data array set the size of each pie segment.PHPlot totals up the values and computes the relative size of each segment.</p><p>For example:</p><pre class="programlisting">$data = array(array('', 1), array('',4), array('',5));</pre><p>This makes a pie chart with 3 segments, with sizes 10%, 40%, and 50%.</p><p>The data array labels can also be used to build a plot legend.For example, this will produce a pie chart with 3segments, and a legend with 3 entries using the labels from the data array:</p><pre class="programlisting">$data = array(array('Gold', 100), array('Silver',35), array('Copper',12));$plot = new PHPlot();$plot->SetPlotType('pie');$plot->SetDataType('text-data-single');$plot->SetDataValues($data);foreach ($data as $row) $plot->SetLegend($row[0]); // Copy labels to legend$plot->DrawGraph();</pre><p>A slightly more complex example of this can be seen in <a class="xref" href="ex-pie1.html" title="5.8. Example - Pie Chart, text-data-single">Section 5.8, “Example - Pie Chart, text-data-single”</a>.This only works for the 'text-data-single' data type, where each row or recordin the data array is used to build one pie segment.</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="plottype-pie-td"></a>3.4.10.2. Pie Chart with data type: 'text-data'</h4></div></div></div><p>The data array for pie charts with 'text-data' data type isstructured as follows.Each record in the data array is an array of a label followed by N data values.The label is ignored. The pie chart will be produced with N segments.The relative weight of the first segment is the sum of the first data valuesin each record.The relative weight of each subsequent segment is the sum of the correspondingdata values in each record.</p><p>For example:</p><pre class="programlisting">$data = array(array('', 10, 10, 20, 10),array('', 15, 10, 15, 10));</pre><p>This results in 4 segments with sizes 25%, 20%, 35%, and 20%.</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="plottype-pie-dd"></a>3.4.10.3. Pie Chart with data type: 'data-data'</h4></div></div></div><p>The data array for pie charts with 'data-data' data type isstructured the same as 'text-data', except that the firsttwo values in each record are ignored (the positions usuallyused for label and X value).Each element in the data array represents a record.Each record is an array of a label, X value, then N data values.The label and X value are ignored.The pie chart will be produced with N segments.The relative weight of the first segment is the sum of the first data valuesin each record.The relative weight of each subsequent segment is the sum of the correspondingdata values in each record.</p><p>For example:</p><pre class="programlisting">$data = array(array('', 1, 10, 10, 20, 10),array('', 2, 15, 10, 15, 10));</pre><p>This results in 4 segments with sizes 25%, 20%, 35%, and 20%.The empty strings and '1' and '2' are ignored.</p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="plottype-points"></a>3.4.11. Plot Type: points (Styled Dot Plot)</h3></div></div></div><p>This plot type draws a point marker at each X,Y value.</p><p>This plot type works with data types <a class="xref" href="conc-datatypes.html#text-data">text-data</a>and <a class="xref" href="conc-datatypes.html#data-data">data-data</a>.For 'text-data', the data X values are assumed to be at 0.5+N for N=0,1,2...It also works with <a class="xref" href="conc-datatypes.html#data-data-error">data-data-error</a> for error plots.These produce the usual vertical plots.</p><p>This plot type also works with data types <a class="xref" href="conc-datatypes.html#text-data-yx">text-data-yx</a>and <a class="xref" href="conc-datatypes.html#data-data-yx">data-data-yx</a> to produce horizontal plots, and withdata type <a class="xref" href="conc-datatypes.html#data-data-yx-error">data-data-yx-error</a> to produce horizontal errorplots.For 'text-data-yx', the data Y values are assumed to be at 0.5+N for N=0,1,2...(Horizontal 'points' plots were added in PHPlot-6.0.0.Horizontal 'points' error plots were added in PHPlot-6.1.0.)</p><p>Marker colors for each line are set with <a class="xref" href="SetDataColors.html" title="SetDataColors"><span class="refentrytitle">SetDataColors</span></a>.Marker styles for each line are set with <a class="xref" href="SetPointShapes.html" title="SetPointShapes"><span class="refentrytitle">SetPointShapes</span></a>.Marker sizes for each line are set with <a class="xref" href="SetPointSizes.html" title="SetPointSizes"><span class="refentrytitle">SetPointSizes</span></a>.</p><p>For error plots only:Error bar colors for each line are set with <a class="xref" href="SetErrorBarColors.html" title="SetErrorBarColors"><span class="refentrytitle">SetErrorBarColors</span></a>.Error bar shape (tee or line) is set with <a class="xref" href="SetErrorBarShape.html" title="SetErrorBarShape"><span class="refentrytitle">SetErrorBarShape</span></a>.If tee-shaped error bars are used, the width of theupper and lower 'tee' is set with <a class="xref" href="SetErrorBarSize.html" title="SetErrorBarSize"><span class="refentrytitle">SetErrorBarSize</span></a>.Error bar line width is set with <a class="xref" href="SetErrorBarLineWidth.html" title="SetErrorBarLineWidth"><span class="refentrytitle">SetErrorBarLineWidth</span></a>.</p><p>An empty string (or any non-numeric value) for the dependent variable(Y for vertical plots, X for horizontal plots) indicates a missing point.No point marker will be drawn at missing point positions.</p><p>Examples of this plot type can be seen in<a class="xref" href="ex-points2.html" title="5.12. Example - Points Plot / Scatterplot">Section 5.12, “Example - Points Plot / Scatterplot”</a>,<a class="xref" href="ex-points1.html" title="5.11. Example - Points Plot with Error Bars">Section 5.11, “Example - Points Plot with Error Bars”</a>, and<a class="xref" href="ex-horizerror.html" title="5.49. Example - Horizontal Error Plot">Section 5.49, “Example - Horizontal Error Plot”</a>.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="plottype-squared"></a>3.4.12. Plot Type: squared (Squared Plot)</h3></div></div></div><p>This plot type makes stepped lines. For each point, you get a horizontalline from the previous point to the current X, then a vertical line tothe current Y.</p><p>This plot type works with data types <a class="xref" href="conc-datatypes.html#text-data">text-data</a>and <a class="xref" href="conc-datatypes.html#data-data">data-data</a>.For 'text-data', the data X values are assumed to be at 0.5+N for N=0,1,2...</p><p>An empty string (or any non-numeric value) for a Y valueindicates a missing point.PHPlot can either skip the line segments around missing points, or connectthe adjacent points. See <a class="xref" href="SetDrawBrokenLines.html" title="SetDrawBrokenLines"><span class="refentrytitle">SetDrawBrokenLines</span></a> for details.</p><p>Line colors per line are set with <a class="xref" href="SetDataColors.html" title="SetDataColors"><span class="refentrytitle">SetDataColors</span></a>.Line widths per line are set with <a class="xref" href="SetLineWidths.html" title="SetLineWidths"><span class="refentrytitle">SetLineWidths</span></a>.Line style (solid or dashed) per line are set with<a class="xref" href="SetLineStyles.html" title="SetLineStyles"><span class="refentrytitle">SetLineStyles</span></a>.</p><p>An example of this plot type can be seen in<a class="xref" href="ex-squared1.html" title="5.13. Example - Squared Plot">Section 5.13, “Example - Squared Plot”</a>.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="plottype-squaredarea"></a>3.4.13. Plot Type: squaredarea (Squared Area Plot)</h3></div></div></div><p>This plot type draws filled areas between squared (or stepped) lines.Each data set (set of corresponding Y values from each record in thedata array) is plotted in order, with the area between the data set and thenext data set filled solid.The edges of the filled area are stepped lines, as with the<a class="link" href="conc-plottypes.html#plottype-squared" title="3.4.12. Plot Type: squared (Squared Plot)">squared</a> plot type, rather thanstraight line segments, as in the <a class="link" href="conc-plottypes.html#plottype-area" title="3.4.1. Plot Type: area (Area Plot)">area</a>plot type. The area between the last line and theX axis<a href="conc-plottypes.html#ftn.fnareaplotfill" class="footnoteref"><sup class="footnoteref">[2]</sup></a> is also filled.The data must be arranged so the values are (generally) decreasing withineach row, because later drawn filled areas will cover previously drawn areas.</p><p>Because squared lines are drawn by stepping X first, then Y, the last Yvalue is usually not visible because there is no width for a filled area.One work-around is to append a copy of the last row of the data array.This is shown in the example linked below.</p><p>This plot type works with data types <a class="xref" href="conc-datatypes.html#text-data">text-data</a>and <a class="xref" href="conc-datatypes.html#data-data">data-data</a>.For 'text-data', the data X values are assumed to be at 0.5+N for N=0,1,2...</p><p>A minimum of 2 rows (X values and corresponding Y value(s)) is required forthis plot type. If there are fewer than 2 rows, an empty plot will be produced.</p><p>This plot type uses the absolute value of each supplied Y, because negativevalues do not make sense here. Missing values are taken as zero.All records in the data array must have the same number of Y values.</p><p>The areas are filled with colors as set with <a class="xref" href="SetDataColors.html" title="SetDataColors"><span class="refentrytitle">SetDataColors</span></a>.If data borders are enabled with <a class="xref" href="SetDrawDataBorders.html" title="SetDrawDataBorders"><span class="refentrytitle">SetDrawDataBorders</span></a>,then a border is drawn around each area fill, using the colors set with<a class="xref" href="SetDataBorderColors.html" title="SetDataBorderColors"><span class="refentrytitle">SetDataBorderColors</span></a>.By default, no data borders are drawn.</p><p>An example of this plot type can be seen in<a class="xref" href="ex-squaredarea1.html" title="5.52. Example - Squared Area Plot">Section 5.52, “Example - Squared Area Plot”</a>.</p><p>The <code class="literal">squaredarea</code> plot type is similar to the<a class="link" href="conc-plottypes.html#plottype-stackedsquaredarea" title="3.4.16. Plot Type: stackedsquaredarea (Stacked Squared Area Plot)">stackedsquaredarea</a> plot type.When plotting a single data set (1 Y value per X),the two plot types are identical.</p><p>This plot type was added in PHPlot-6.2.0.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="plottype-stackedarea"></a>3.4.14. Plot Type: stackedarea (Stacked Area Plot)</h3></div></div></div><p>This plot type draws filled areas between lines, similar to<a class="link" href="conc-plottypes.html#plottype-area" title="3.4.1. Plot Type: area (Area Plot)">area</a> except the values are accumulatedas in <a class="link" href="conc-plottypes.html#plottype-stackedbars" title="3.4.15. Plot Type: stackedbars (Stacked Bar Plot)">stackedbars</a> plots.The area between the X axis and the first data set (the line resulting fromthe first Y value from each record) is filled first. Then the area above thatline, up to the sum of the first and second Y values in each record, isfilled next. This repeats until filling the area up to the top-most line,which is the sum of all the Y values from each record.</p><p>This plot type works with data types <a class="xref" href="conc-datatypes.html#text-data">text-data</a>and <a class="xref" href="conc-datatypes.html#data-data">data-data</a>.For 'text-data', the data X values are assumed to be at 0.5+N for N=0,1,2...</p><p>A minimum of 2 rows (X values and corresponding Y value(s)) is required forthis plot type. If there are fewer than 2 rows, an empty plot will be produced.</p><p>This plot type uses the absolute value of each supplied Y, because negativevalues do not make sense here. Missing values are taken as zero.All records in the data array must have the same number of Y values.</p><p>The areas are filled with colors as set with <a class="xref" href="SetDataColors.html" title="SetDataColors"><span class="refentrytitle">SetDataColors</span></a>.Note that color selection with <code class="literal">stackedarea</code> plots tends togo in the reverse order compared to <code class="literal">area</code> plots.For stacked plots, the first area fill using the first color fills the areaextending up from the X axis to the first data set. So the first color isalways at the bottom of the plot.For unstacked plots, the last area fill using the last color fills the areaextending up from the X axis to the last data set. Unless this data setcontains the lowest Y values (and is drawn at the bottom of the plot), itwill cover all the other data set area fills. So typically the unstackedplot has to have the last color at the bottom of the plot.Compare <a class="xref" href="ex-area1.html" title="5.3. Example - Area Plot">Section 5.3, “Example - Area Plot”</a> and <a class="xref" href="ex-stackedarea1.html" title="5.21. Example - Stacked Area Plot">Section 5.21, “Example - Stacked Area Plot”</a>.</p><p>If data borders are enabled with <a class="xref" href="SetDrawDataBorders.html" title="SetDrawDataBorders"><span class="refentrytitle">SetDrawDataBorders</span></a>,then a border is drawn around each area fill, using the colors set with<a class="xref" href="SetDataBorderColors.html" title="SetDataBorderColors"><span class="refentrytitle">SetDataBorderColors</span></a>.(Data borders for <code class="literal">stackedarea</code> plots were addedin PHPlot-6.2.0.)By default, no data borders are drawn.</p><p>An example of this plot type can be seen in<a class="xref" href="ex-stackedarea1.html" title="5.21. Example - Stacked Area Plot">Section 5.21, “Example - Stacked Area Plot”</a>.</p><p>This plot type was added in PHPlot-5.1.1.</p><p>A <code class="literal">stackedarea</code> plot is identicalto an <a class="link" href="conc-plottypes.html#plottype-area" title="3.4.1. Plot Type: area (Area Plot)">area</a> plotwhen plotting a single data set (1 Y value per X),</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="plottype-stackedbars"></a>3.4.15. Plot Type: stackedbars (Stacked Bar Plot)</h3></div></div></div><p>This plot type draws a bar chart with stacked bars.Both vertical and horizontal stacked bar charts are available.The bars are centered on the X values (for vertical charts),or on the Y values (for horizontal charts).Each data set value contributes one segment of a stack.That is, the first data set is drawn from the axis in the firstcolor, then the second data set is drawn stacked on the firstusing the second color, etc.</p><p>Data values greater than zero result in an upward (or rightward) bar.Data values less than zero result in a downward (or leftward) bar.Mixing negative and positive values within a row does work, butthe results are not generally useful.The first non-zero value in any given row determines the direction of thatbar stack.PHPlot keeps a running total for each row, but does not draw any segment unlessit increases the bar stack height (or length, for horizontal plots).It also does not draw any segment on the wrong side of the axis(which is normally at 0).</p><p>Segments of length zero in a bar stack are usually ignored, but they mightbe visible if the axis is moved in the direction opposite to the bar stackdirection. (For example, axis is at Y=2, stack contains segment values 0and -4; the 0 segment is drawn down from the axis at Y=2 to Y=0, followedby the second segment down to -4).</p><p>For vertical bars, use data type <a class="xref" href="conc-datatypes.html#text-data">text-data</a>.The data X values are assumed to be at 0.5+N for N=0,1,2...For horizontal bars, use data type <a class="xref" href="conc-datatypes.html#text-data-yx">text-data-yx</a>.The data Y values are assumed to be at 0.5+N for N=0,1,2...No other data type works with stacked bar plots.</p><p>If shading is on with <a class="xref" href="SetShading.html" title="SetShading"><span class="refentrytitle">SetShading</span></a> (default is on with value5 pixels), then the bars have a 3-D look. If shading is off(<code class="function">SetShading(0)</code>), the bars are flat rectangles.The filled colors for each stacked segment are set with<a class="xref" href="SetDataColors.html" title="SetDataColors"><span class="refentrytitle">SetDataColors</span></a>.Data borders are drawn by default when shading is off.Use <a class="xref" href="SetDrawDataBorders.html" title="SetDrawDataBorders"><span class="refentrytitle">SetDrawDataBorders</span></a> to enable or disable the borders.If the borders are on, the border colors can be set with<a class="xref" href="SetDataBorderColors.html" title="SetDataBorderColors"><span class="refentrytitle">SetDataBorderColors</span></a>.</p><p>Missing values (an empty string or any non-numeric value) are taken as zero,except that they do not result in a visible segment in the case of a movedaxis described above.</p><p>See also <a class="xref" href="adv-tuning.html#adv-tuning-bars" title="4.7.1. Tuning Bar Charts">Section 4.7.1, “Tuning Bar Charts”</a>.</p><p>Examples of this plot type can be seen in<a class="xref" href="ex-stackedbars1.html" title="5.14. Example - Stacked Bars, Shaded">Section 5.14, “Example - Stacked Bars, Shaded”</a>,<a class="xref" href="ex-stackedbars2.html" title="5.15. Example - Stacked Bars, Unshaded">Section 5.15, “Example - Stacked Bars, Unshaded”</a>,<a class="xref" href="ex-stackedbars3.html" title="5.20. Example - Stacked Bars with Y Data Value Labels">Section 5.20, “Example - Stacked Bars with Y Data Value Labels”</a>, and<a class="xref" href="ex-horizstackedbar.html" title="5.28. Example - Horizontal Stacked Bar Chart">Section 5.28, “Example - Horizontal Stacked Bar Chart”</a>.</p><p>The <code class="literal">stackedbars</code> plot type is similar to the<a class="link" href="conc-plottypes.html#plottype-bars" title="3.4.2. Plot Type: bars (Bar Plot)">bars</a> plot type.When plotting a single data set,the two plot types are identical.</p><p>Horizontal stackedbars plots were added in PHPlot-5.1.3.Support for negative values in stackedbars plots was added in PHPlot-5.2.0.Before PHPlot-5.4.0, zero values were completely ignored in stackedbars plots.From PHPlot-5.4.0 through PHPlot-5.6.0, a zero value at the end of a datarow (or an all zero row) would result in a color 'cap' on the top of the barstack, but this was changed in PHPlot-5.7.0.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="plottype-stackedsquaredarea"></a>3.4.16. Plot Type: stackedsquaredarea (Stacked Squared Area Plot)</h3></div></div></div><p>This plot type draws filled areas between squared (or stepped) lines,similar to <a class="link" href="conc-plottypes.html#plottype-squaredarea" title="3.4.13. Plot Type: squaredarea (Squared Area Plot)">squaredarea</a> exceptthe values are accumulated as in<a class="link" href="conc-plottypes.html#plottype-stackedbars" title="3.4.15. Plot Type: stackedbars (Stacked Bar Plot)">stackedbars</a> plots.The area between the X axis and the first data set (the squared lineresulting from the first Y value from each record) is filled first.Then the area above that up to the sum of the first and second Y valuesin each record is filled next.This repeats until filling the area up to the top-most squared line,which is the sum of all the Y values from each record.The edges of the filled areas are squared lines, as with the<a class="link" href="conc-plottypes.html#plottype-squared" title="3.4.12. Plot Type: squared (Squared Plot)">squared</a> plot type.</p><p>Because squared lines are drawn by stepping X first, then Y, the last Yvalue is usually not visible because there is no width for a filled area.One work-around is to append a copy of the last row of the data array.This is shown in the example linked below.</p><p>This plot type works with data types <a class="xref" href="conc-datatypes.html#text-data">text-data</a>and <a class="xref" href="conc-datatypes.html#data-data">data-data</a>.For 'text-data', the data X values are assumed to be at 0.5+N for N=0,1,2...</p><p>A minimum of 2 rows (X values and corresponding Y value(s)) is required forthis plot type. If there are fewer than 2 rows, an empty plot will be produced.</p><p>This plot type uses the absolute value of each supplied Y, because negativevalues do not make sense here. Missing values are taken as zero.All records in the data array must have the same number of Y values.</p><p>The areas are filled with colors as set with <a class="xref" href="SetDataColors.html" title="SetDataColors"><span class="refentrytitle">SetDataColors</span></a>.If data borders are enabled with <a class="xref" href="SetDrawDataBorders.html" title="SetDrawDataBorders"><span class="refentrytitle">SetDrawDataBorders</span></a>,then a border is drawn around each area fill, using the colors set with<a class="xref" href="SetDataBorderColors.html" title="SetDataBorderColors"><span class="refentrytitle">SetDataBorderColors</span></a>.By default, no data borders are drawn.</p><p>Note that color selection with <code class="literal">stackedsquaredarea</code> plotstends to go in the reverse order compared to <code class="literal">squaredarea</code>plots.For stacked plots, the first area fill using the first color fills the areaextending up from the X axis to the first data set. So the first color isalways at the bottom of the plot.For unstacked plots, the last area fill using the last color fills the areaextending up from the X axis to the last data set. Unless this data setcontains the lowest Y values (and is drawn at the bottom of the plot), itwill cover all the other data set area fills. So typically the unstackedplot has to have the last color at the bottom of the plot.Compare <a class="xref" href="ex-squaredarea1.html" title="5.52. Example - Squared Area Plot">Section 5.52, “Example - Squared Area Plot”</a>and <a class="xref" href="ex-stackedsquaredarea1.html" title="5.53. Example - Stacked Squared Area Plot">Section 5.53, “Example - Stacked Squared Area Plot”</a>.</p><p>An example of this plot type can be seen in<a class="xref" href="ex-stackedsquaredarea1.html" title="5.53. Example - Stacked Squared Area Plot">Section 5.53, “Example - Stacked Squared Area Plot”</a>.</p><p>A <code class="literal">stackedsquaredarea</code> plot is identical to a<a class="link" href="conc-plottypes.html#plottype-squaredarea" title="3.4.13. Plot Type: squaredarea (Squared Area Plot)">squaredarea</a> plotwhen plotting a single data set (1 Y value per X).</p><p>This plot type was added in PHPlot-6.2.0.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="plottype-thinbarline"></a>3.4.17. Plot Type: thinbarline (Thin Bar Line Plot)</h3></div></div></div><p>This plot type draws lines from the axis to the data value.Other implementations call this type of plot <span class="emphasis"><em>impulses</em></span>.Both vertical and horizontal thinbarline plots are available.Plotting multiple data sets does not work, because the lines are drawn ontop of each other and only one can typically be seen.This plot type can be more readable than a bar chart when there are a largenumber of data points.</p><p>For vertical plots, use data type <a class="xref" href="conc-datatypes.html#text-data">text-data</a>or <a class="xref" href="conc-datatypes.html#data-data">data-data</a>.For 'text-data', the data X values are assumed to be at 0.5+N for N=0,1,2...For horizontal plots, use data type <a class="xref" href="conc-datatypes.html#text-data-yx">text-data-yx</a>or <a class="xref" href="conc-datatypes.html#data-data-yx">data-data-yx</a>.For 'text-data-yx', the data Y values are assumed to be at 0.5+N for N=0,1,2...</p><p>The width of the plot lines can be controlled with <a class="xref" href="SetLineWidths.html" title="SetLineWidths"><span class="refentrytitle">SetLineWidths</span></a>.</p><p>An empty string (or any non-numeric value) for the dependent variable(Y for vertical plots, X for horizontal plots) indicates a missing point.No line will be drawn at missing point positions.</p><p>Examples of this plot type can be seen in<a class="xref" href="ex-thinbarline1.html" title="5.16. Example - Thin Bar Line Plot">Section 5.16, “Example - Thin Bar Line Plot”</a>,<a class="xref" href="ex-thinbarline2.html" title="5.17. Example - Thin Bar Line Plot, Wider Lines">Section 5.17, “Example - Thin Bar Line Plot, Wider Lines”</a>, and<a class="xref" href="ex-horizthinbarline.html" title="5.29. Example - Horizontal Thin Bar Line Plot">Section 5.29, “Example - Horizontal Thin Bar Line Plot”</a>.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="conc-plottype-datatype"></a>3.4.18. Plot Types and Data Types</h3></div></div></div><p>The following table indicates which plot types support which data types.Refer to <a class="xref" href="conc-datatypes.html" title="3.3. PHPlot Data Types">Section 3.3, “PHPlot Data Types”</a> for more information on datatypes.</p><div class="informaltable"><table summary="Supported plot type/data type combinations." cellpadding="4" border="1"><colgroup><col align="left" class="pt" /><col align="center" class="dt1" /><col align="center" class="dt2" /><col align="center" class="dt3" /><col align="center" class="dt4" /><col align="center" class="dt5" /><col align="center" class="dt6" /><col align="center" class="dt7" /><col align="center" class="dt8" /></colgroup><thead><tr><th rowspan="2" align="left" valign="bottom">Plot Type:</th><th colspan="8" align="center">Data Type:</th></tr><tr><th align="center"><a class="xref" href="conc-datatypes.html#text-data">text-data</a></th><th align="center"><a class="xref" href="conc-datatypes.html#data-data">data-data</a></th><th align="center"><a class="xref" href="conc-datatypes.html#data-data-error">data-data-error</a></th><th align="center"><a class="xref" href="conc-datatypes.html#text-data-single">text-data-single</a></th><th align="center"><a class="xref" href="conc-datatypes.html#text-data-yx">text-data-yx</a></th><th align="center"><a class="xref" href="conc-datatypes.html#data-data-yx">data-data-yx</a></th><th align="center"><a class="xref" href="conc-datatypes.html#data-data-yx-error">data-data-yx-error</a></th><th align="center"><a class="xref" href="conc-datatypes.html#data-data-xyz">data-data-xyz</a></th></tr></thead><tbody><tr><td align="left"><a class="link" href="conc-plottypes.html#plottype-area" title="3.4.1. Plot Type: area (Area Plot)">area</a></td><td align="center">Yes</td><td align="center">Yes</td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td></tr><tr><td align="left"><a class="link" href="conc-plottypes.html#plottype-bars" title="3.4.2. Plot Type: bars (Bar Plot)">bars</a></td><td align="center">Yes</td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center">Yes</td><td align="center"> </td><td align="center"> </td><td align="center"> </td></tr><tr><td align="left"><a class="link" href="conc-plottypes.html#plottype-boxes" title="3.4.3. Plot Type: boxes (Box Plot)">boxes</a></td><td align="center">Yes</td><td align="center">Yes</td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td></tr><tr><td align="left"><a class="link" href="conc-plottypes.html#plottype-bubbles" title="3.4.4. Plot Type: bubbles (Bubble Plot)">bubbles</a></td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center">Yes</td></tr><tr><td align="left"><a class="link" href="conc-plottypes.html#plottype-candlesticks" title="3.4.5. Plot Type: candlesticks (OHLC Candlesticks Plot)">candlesticks</a></td><td align="center">Yes</td><td align="center">Yes</td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td></tr><tr><td align="left"><a class="link" href="conc-plottypes.html#plottype-candlesticks2" title="3.4.6. Plot Type: candlesticks2 (OHLC Filled Candlesticks Plot)">candlesticks2</a></td><td align="center">Yes</td><td align="center">Yes</td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td></tr><tr><td align="left"><a class="link" href="conc-plottypes.html#plottype-linepoints" title="3.4.7. Plot Type: linepoints (Lines and Points Plot)">linepoints</a></td><td align="center">Yes</td><td align="center">Yes</td><td align="center">Yes</td><td align="center"> </td><td align="center">Yes</td><td align="center">Yes</td><td align="center">Yes</td><td align="center"> </td></tr><tr><td align="left"><a class="link" href="conc-plottypes.html#plottype-lines" title="3.4.8. Plot Type: lines (Lines Plot)">lines</a></td><td align="center">Yes</td><td align="center">Yes</td><td align="center">Yes</td><td align="center"> </td><td align="center">Yes</td><td align="center">Yes</td><td align="center">Yes</td><td align="center"> </td></tr><tr><td align="left"><a class="link" href="conc-plottypes.html#plottype-pie" title="3.4.10. Plot Type: pie (Pie Plot)">pie</a></td><td align="center">Yes</td><td align="center">Yes</td><td align="center"> </td><td align="center">Yes</td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td></tr><tr><td align="left"><a class="link" href="conc-plottypes.html#plottype-ohlc" title="3.4.9. Plot Type: ohlc (Basic OHLC Plot)">ohlc</a></td><td align="center">Yes</td><td align="center">Yes</td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td></tr><tr><td align="left"><a class="link" href="conc-plottypes.html#plottype-points" title="3.4.11. Plot Type: points (Styled Dot Plot)">points</a></td><td align="center">Yes</td><td align="center">Yes</td><td align="center">Yes</td><td align="center"> </td><td align="center">Yes</td><td align="center">Yes</td><td align="center">Yes</td><td align="center"> </td></tr><tr><td align="left"><a class="link" href="conc-plottypes.html#plottype-squared" title="3.4.12. Plot Type: squared (Squared Plot)">squared</a></td><td align="center">Yes</td><td align="center">Yes</td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td></tr><tr><td align="left"><a class="link" href="conc-plottypes.html#plottype-squaredarea" title="3.4.13. Plot Type: squaredarea (Squared Area Plot)">squaredarea</a></td><td align="center">Yes</td><td align="center">Yes</td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td></tr><tr><td align="left"><a class="link" href="conc-plottypes.html#plottype-stackedarea" title="3.4.14. Plot Type: stackedarea (Stacked Area Plot)">stackedarea</a></td><td align="center">Yes</td><td align="center">Yes</td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td></tr><tr><td align="left"><a class="link" href="conc-plottypes.html#plottype-stackedbars" title="3.4.15. Plot Type: stackedbars (Stacked Bar Plot)">stackedbars</a></td><td align="center">Yes</td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center">Yes</td><td align="center"> </td><td align="center"> </td><td align="center"> </td></tr><tr><td align="left"><a class="link" href="conc-plottypes.html#plottype-stackedsquaredarea" title="3.4.16. Plot Type: stackedsquaredarea (Stacked Squared Area Plot)">stackedsquaredarea</a></td><td align="center">Yes</td><td align="center">Yes</td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td></tr><tr><td align="left"><a class="link" href="conc-plottypes.html#plottype-thinbarline" title="3.4.17. Plot Type: thinbarline (Thin Bar Line Plot)">thinbarline</a></td><td align="center">Yes</td><td align="center">Yes</td><td align="center"> </td><td align="center"> </td><td align="center">Yes</td><td align="center">Yes</td><td align="center"> </td><td align="center"> </td></tr></tbody></table></div><p></p></div><div class="footnotes"><br /><hr style="width:100; text-align:left;margin-left: 0" /><div id="ftn.fnareaplotfill" class="footnote"><p><a href="#fnareaplotfill" class="para"><sup class="para">[2] </sup></a>The <code class="literal">area</code> and <code class="literal">squaredarea</code> plot types areactually intended to fill the area between each data set (set of Y values)and the X axis.The way it is described above is how it is actually implemented, however.When using opaque colors, there is no visible difference between the twomethods. But when colors are partially transparent, filling the areabetween data sets (rather than data set to axis) avoids some unwanted colorartifacts as the overlapping colors are blended.</p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="conc-datatypes.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="concepts.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="conc-colors.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">3.3. PHPlot Data Types </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 3.5. Colors</td></tr></table></div></body></html>