Library pages

For definitive info about Bluff library please see it's home page and it's reference page.

Installation

Since version 3.6.1 Bluff is dual licensed - MIT and GPL - so all necessary files to enable Bluff are now included with Charts and Graphs:

Usage

The quickest code to get something graphed using bluff:

<?php
function charts_graphs_test() {
  $canvas = charts_graphs_get_graph('bluff');

  $canvas->title = "Bluff Chart";
  $canvas->type = "line"; // a chart type supported by the charting engine. See further in the doc for the list.
  $canvas->y_legend = "Y Legend";
  $canvas->colour = '#D54C78';
  $canvas->theme = 'keynote';
  $canvas->series = array(
    'Some Value' => array(9,6,7,9,5,7,6,9,7),
    'Page Views' => array(6,7,9,5,7,6,9,7,3),
  );
  $canvas->x_labels = array('one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine');

  $out = $canvas->get_chart();

  return $out;
}

Arbitrary parameters

Bluff implementation for Charts and Graphs supports the parameters general parameter. With it the user can set any parameter in Bluff as everything set in it will be passed to Bluff and will override any default setting or setting through the standard settings supported by Charts and Graphs.

The parameters option is an array where each key is the property name and each value is the value for the same property.

For function call, the key is the function name and the value should be an array. The contents of this array are the parameters to be sent to the function.

This way the user has complete control on what is being included on the charting call.

With great power comes great responsability.

As the ultimate control feature the parameters option intends to be, the values are passed absolutely unchanged as defined by the user. There is no urlencoding, quotes inclusion or any other safety net. The values should be set in a safe and complete manner.

Example

Property - setting bar width and spacing:

<php
$canvas->parameters['no_data_message'] = '"No data"';

will result in

g.no_data_message = "No data";

being included in the chart definition. Observe that the double quotes were included in the value passed to parameters.

Function - setting bar width and spacing:

<php
$canvas->parameters['set_margins'] = array(12);

will result in

g.set_margins(12);

being included in the chart definition.

Graph types supported

Bluff supports all main and all standardized graph types, except the donut graph type. It also supports the following graph types:

mini_bar
Bar graph suitable for small graphs.
mini_pie
Pie graph suitable for small graphs.
mini_side_bar
Side bar graph suitable for small graphs.

Special parameters

Charts and Graphs supports the following special parameters for Bluff:

transpose
the optional parameter transpose, if set to true, will cause Bluff to pick the opposite data orientation to the one it would have picked automatically. This orientation defines if each column or each row is one data serie.

Unsupported properties

The Bluff charting library doesn't support the y_legend property.

Examples

The examples below will only work if you have the Bluff submodule configured correctly.