|
Each dot can have its own on click event. For this example I have let them all
inherit the on click attribute from the default dot. But you can set each dot
to have a separate on click attribute if you need to.
If the on-click string starts with 'http' or 'https' the chart will try to open this URL,
if the string does not start with http(s) then it assumes the string is a javascript function
name and attempts to call this function.
If you have more than one chart on a page, then you can set the chart ID attribute,
this is then passed out to all external function calls as parameter one.
This goes into the <head> of the page:
<script type="text/javascript" src="js/swfobject.js"></script>
<script type="text/javascript">
swfobject.embedSWF(
"open-flash-chart.swf", "my_chart", "550", "200",
"9.0.0", "expressInstall.swf",
{"data-file":"gallery/line-on-click.php", "id":"my_chart_id"} );
</script>
<script type="text/javascript">
function line_1( chart_id, index )
{
hello( chart_id, 1, index );
}
function line_2( chart_id, index )
{
hello( chart_id, 2, index );
}
function hello( chart_id, line, index )
{
alert( 'Chart '+chart_id +', hello from line '+ line +' -> '+ index );
}
</script>
This writes the chart into a div with id="my_chart",
right click and view source to see it in action,
[the tutorials have more details]
gallery/line-on-click.php
<?php
include '../php-ofc-library/open-flash-chart.php';
$data_1 = array(); $data_2 = array();
for( $i=0; $i<6.2; $i+=0.2 ) { $data_1[] = (sin($i) * 1.9) + 7; $data_2[] = (sin($i) * 1.9) + 10; }
$title = new title( date("D M d Y") );
$s = new star(); $s->size(5)->halo_size(2)->on_click("line_1");
$line_1 = new line(); $line_1->set_values( $data_1 ); $line_1->set_default_dot_style($s); $line_1->set_colour( '#EB7600' ); $line_1->set_width( 2 ); $line_1->set_key( "Orange Crush Baby", 10 );
$d = new solid_dot(); $d->size(5)->on_click("line_2");
$line_2 = new line(); $line_2->set_values( $data_2 ); $line_2->set_default_dot_style($d); $line_2->set_colour( '#7BED09' ); $line_2->set_width( 1 ); $line_2->set_key( "Green Machine", 10 );
$y = new y_axis(); $y->set_range( 0, 15, 5 );
$chart = new open_flash_chart(); $chart->set_title( $title ); $chart->add_element( $line_1 ); $chart->add_element( $line_2 ); $chart->set_y_axis( $y );
echo $chart->toPrettyString();
|
|