Exemple #1
0
function pmarg_test($call_SetMarginsPixels, $args_SetMarginsPixels, $call_SetPlotAreaPixels, $args_SetPlotAreaPixels, $return_margins)
{
    global $data, $margins_override, $plotarea_override;
    $p = new PHPlot_pv(PLOT_WIDTH, PLOT_HEIGHT);
    $p->SetTitle("Unused Title Goes Here");
    $p->SetDataType('data-data');
    $p->SetDataValues($data);
    $p->SetPlotType('lines');
    $p->SetXTickLabelPos('none');
    $p->SetXTickIncrement(1.0);
    $p->SetYTickIncrement(10.0);
    $p->SetYTickPos('both');
    $p->SetYTickLabelPos('both');
    $p->SetDrawXGrid(False);
    $p->SetDrawYGrid(False);
    $p->SetXTitle("Two Line\nX Axis Title");
    $p->SetYTitle("Three Line\nY Axis\nTitle");
    # Variant cases:
    if ($call_SetMarginsPixels) {
        call_user_func_array(array($p, 'SetMarginsPixels'), array_mask($margins_override, $args_SetMarginsPixels, 4));
    }
    if ($call_SetPlotAreaPixels) {
        call_user_func_array(array($p, 'SetPlotAreaPixels'), array_mask($plotarea_override, $args_SetPlotAreaPixels, 4));
    }
    # Produce but don't output the image. Comment out to test the test.
    $p->SetPrintImage(False);
    # Produce the graph:
    $p->DrawGraph();
    # Return the resulting margins or coordinates, as requested.
    $plot_area = $p->GET_plot_area();
    if ($return_margins) {
        return array($plot_area[0], PLOT_WIDTH - $plot_area[2], $plot_area[1], PLOT_HEIGHT - $plot_area[3]);
    }
    return $plot_area;
}