source: trunk/client/modules/Elezioni/grafici/barre.php@ 38

Last change on this file since 38 was 22, checked in by roby, 15 years ago

Rivista gestione accentate nei grafici

File size: 3.7 KB
RevLine 
[22]1<?php
2/************************************************************************/
3/* Eleonline - Raccolta e diffusione dei dati elettorali */
4/* by Luciano Apolito & Roberto Gigli */
5/* http://www.eleonline.it */
6/* info@eleonline.it luciano@aniene.net rgigli@libero.it */
7/************************************************************************/
8
9include ("jpgraph.php");
10include ("jpgraph_bar.php");
11if(file_exists(TTF_DIR))
12 define("CURFONT1",FF_DV_SANSSERIF);
13else
14 define ("CURFONT1",FF_FONT1);
15
16$dati1=$_GET['dati1'];$dati2=$_GET['dati2'];$i=$_GET['i'];$l=$_GET['l'];$w=$_GET['w'];
17$titolo=$_GET['titolo'];$descr=$_GET['descr'];$cop=$_GET['cop'];
18$logo=$_GET['logo'];
19$datay=unserialize(stripslashes($dati1)); // percentuali
20$datax=unserialize(stripslashes($dati2)); // candidati
21
22
23// $i= numero candidati
24// $larghezza label
25if (!isset($l)) $l=180;
26if (!isset($w)) $w=500;
27if ($l=='') $l=180;
28if ($w=='') $w=500;
29
30// Size of graph
31$width=$w;
32$height=$i*30;
33
34// Set the basic parameters of the graph
35$graph = new Graph($width,$height,'auto');
36$graph->SetScale("textlin");
37
38$top = 50;
39$bottom = 80;
40$left = $l;
41$right = 40;
42$graph->Set90AndMargin($left,$right,$top,$bottom);
43#if(isset($logo)) $graph->SetBackgroundImage("../images/".$logo.".png",BGIMG_COPY);
44#else
45//$graph->SetBackgroundImage("../images/vuoto.jpg",BGIMG_COPY);
46// Nice shadow
47$graph->SetShadow();
48$graph->SetBackgroundGradient('white','yellow',GRAD_HOR,BGRAD_MARGIN);
49// Setup title
50$graph->title->Set("$titolo");
51$graph->title->SetFont(CURFONT1,FS_BOLD,10);
52$graph->subtitle->Set("$descr");
53
54// Setup X-axis
55$graph->xaxis->SetTickLabels($datax);
56$graph->xaxis->SetFont(CURFONT1,FS_BOLD,8);
57$graph->xaxis->SetColor("black","darkred");
58// Some extra margin looks nicer
59$graph->xaxis->SetLabelMargin(5);
60
61// Label align for X-axis
62$graph->xaxis->SetLabelAlign('right','center');
63
64// Add some grace to y-axis so the bars doesn't go
65// all the way to the end of the plot area
66$graph->yaxis->scale->SetGrace(20);
67
68// Setup the Y-axis to be displayed in the bottom of the
69// graph. We also finetune the exact layout of the title,
70// ticks and labels to make them look nice.
71$graph->yaxis->SetPos('max');
72
73// First make the labels look right
74$graph->yaxis->SetLabelAlign('center','top');
75$graph->yaxis->SetLabelFormat('%d');
76$graph->yaxis->SetLabelSide(SIDE_RIGHT);
77
78// The fix the tick marks
79$graph->yaxis->SetTickSide(SIDE_LEFT);
80
81// Finally setup the title
82$graph->yaxis->SetTitleSide(SIDE_RIGHT);
83$graph->yaxis->SetTitleMargin(35);
84
85// To align the title to the right use :
86$graph->yaxis->SetTitle("$cop",'high');
87$graph->yaxis->title->Align('right');
88$graph->yaxis->SetColor("black","darkred");
89// To center the title use :
90//$graph->yaxis->SetTitle('Turnaround 2002','center');
91//$graph->yaxis->title->Align('center');
92
93$graph->yaxis->title->SetFont(CURFONT1,FS_BOLD,12);
94$graph->yaxis->title->SetAngle(0);
95
96
97
98$graph->yaxis->SetFont(CURFONT1,FS_NORMAL); #era FF_FONT2
99// If you want the labels at an angle other than 0 or 90
100// you need to use TTF fonts
101//$graph->yaxis->SetLabelAngle(0);
102
103/*
104// testo
105$txt =new Text("$cop");
106$txt->Pos( 100,$i*29);
107$txt->SetColor( "red");
108$graph->AddText( $txt);
109*/
110
111
112
113
114
115
116
117
118// Now create a bar pot
119$bplot = new BarPlot($datay);
120$bplot->SetFillColor("orange");
121$bplot->SetShadow();
122
123//You can change the width of the bars if you like
124$bplot->SetWidth(0.1);
125
126// We want to display the value of each bar at the top
127$bplot->value->Show();
128$bplot->value->SetFont(CURFONT1,FS_BOLD,12);
129$bplot->value->SetAlign('left','center');
130$bplot->value->SetColor("black","darkred");
131$bplot->value->SetFormat("%.2f &#37;");
132
133// Add the bar to the graph
134$graph->Add($bplot);
135
136
137$graph->Stroke();
138?>
Note: See TracBrowser for help on using the repository browser.