5.8. Example - Pie Chart, text-data-single
Prev | Chapter 5. PHPlot Examples | Next

## 5.8. Example - Pie Chart, text-data-single

This is a pie chart with the data array type 'text-data-single'. This data type is only used with pie charts. Each record in the data array simply contains a label (which is not used by PHPlot) and a segment size. In this example, we use the label to identify the data for our own reference, and then build a legend from those data labels along with the data values. This is useful because by default PHPlot labels the segments with only the percentage values. (Starting with PHPlot-5.6.0, there are new options for labels. See Section 5.41, “Example - Pie Chart Label Types”.)

Example 5.8. Pie Chart, text-data-single

    <?php
    # PHPlot Example: Pie/text-data-single
    require_once 'phplot.php';

    # The data labels aren't used directly by PHPlot. They are here for our
    # reference, and we copy them to the legend below.
    $data = array(
      array('Australia', 7849),
      array('Dem Rep Congo', 299),
      array('Canada', 5447),
      array('Columbia', 944),
      array('Ghana', 541),
      array('China', 3215),
      array('Philippines', 791),
      array('South Africa', 19454),
      array('Mexico', 311),
      array('United States', 9458),
      array('USSR', 9710),
    );

    $plot = new PHPlot(800,600);
    $plot->SetImageBorderType('plain');

    $plot->SetPlotType('pie');
    $plot->SetDataType('text-data-single');
    $plot->SetDataValues($data);

    # Set enough different colors;
    $plot->SetDataColors(array('red', 'green', 'blue', 'yellow', 'cyan',
                            'magenta', 'brown', 'lavender', 'pink',
                            'gray', 'orange'));

    # Main plot title:
    $plot->SetTitle("World Gold Production, 1990\n(1000s of Troy Ounces)");

    # Build a legend from our data array.
    # Each call to SetLegend makes one line as "label: value".
    foreach ($data as $row)
      $plot->SetLegend(implode(': ', $row));
    # Place the legend in the upper left corner:
    $plot->SetLegendPixels(5, 5);

    $plot->DrawGraph();

Prev | Up | Next
5.7. Example - Line/Point Plot, Point Shapes | Home | 5.9. Example - Pie Chart, text-data