4
/* pChart library inclusions */
5
include("../class/pData.class.php");
6
include("../class/pDraw.class.php");
7
include("../class/pImage.class.php");
8
include("../class/pIndicator.class.php");
10
/* Create and populate the pData object */
11
$MyData = new pData();
12
for($i=0;$i<=80;$i++) { $MyData->addPoints(($i/10)*($i/10),"Statistical probability"); }
13
$MyData->setAxisName(0,"Probability");
14
$MyData->setAxisUnit(0,"%");
16
/* Create the pChart object */
17
$myPicture = new pImage(700,350,$MyData);
19
/* Turn of Antialiasing */
20
$myPicture->Antialias = FALSE;
22
/* Draw the background */
23
$Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
24
$myPicture->drawFilledRectangle(0,0,700,350,$Settings);
26
/* Overlay with a gradient */
27
$Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
28
$myPicture->drawGradientArea(0,0,700,220,DIRECTION_VERTICAL,$Settings);
29
$Settings = array("StartR"=>1, "StartG"=>138, "StartB"=>68, "EndR"=>219, "EndG"=>231, "EndB"=>239, "Alpha"=>50);
30
$myPicture->drawGradientArea(0,222,700,350,DIRECTION_VERTICAL,$Settings);
32
/* Add a border to the picture */
33
$myPicture->drawRectangle(0,0,699,349,array("R"=>0,"G"=>0,"B"=>0));
35
/* Set the default font */
36
$myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
38
/* Define the chart area */
39
$myPicture->setGraphArea(60,40,650,200);
42
$scaleSettings = array("XMargin"=>10,"YMargin"=>10,"Floating"=>TRUE,"LabelSkip"=>4,"GridR"=>220,"GridG"=>220,"GridB"=>220,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
43
$myPicture->drawScale($scaleSettings);
45
/* Turn on Antialiasing */
46
$myPicture->Antialias = TRUE;
48
/* Draw the line of best fit */
49
$myPicture->drawBestFit(array("Ticks"=>4,"Alpha"=>50,"R"=>0,"G"=>0,"B"=>0));
51
/* Draw the line chart */
52
$myPicture->drawLineChart();
54
/* Draw the series derivative graph */
55
$myPicture->drawDerivative(array("ShadedSlopeBox"=>TRUE,"CaptionLine"=>TRUE));
57
/* Write the chart legend */
58
$myPicture->drawLegend(570,20,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
60
/* Set the default font & shadow settings */
61
$myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
62
$myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
64
/* Write the chart title */
65
$myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
66
$myPicture->drawText(150,35,"Probability of heart disease",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE,"R"=>255,"G"=>255,"B"=>255));
68
/* Write a label over the chart */
69
$LabelSettings = array("DrawVerticalLine"=>TRUE,"TitleMode"=>LABEL_TITLE_BACKGROUND,"TitleR"=>255,"TitleG"=>255,"TitleB"=>255);
70
$myPicture->writeLabel("Statistical probability",35,$LabelSettings);
72
/* Create the pIndicator object */
73
$Indicator = new pIndicator($myPicture);
75
/* Define the indicator sections */
76
$IndicatorSections = "";
77
$IndicatorSections[] = array("Start"=>0,"End"=>29,"Caption"=>"Low","R"=>0,"G"=>142,"B"=>176);
78
$IndicatorSections[] = array("Start"=>30,"End"=>49,"Caption"=>"Moderate","R"=>108,"G"=>157,"B"=>49);
79
$IndicatorSections[] = array("Start"=>50,"End"=>80,"Caption"=>"High","R"=>226,"G"=>74,"B"=>14);
81
/* Draw the 2nd indicator */
82
$IndicatorSettings = array("Values"=>35,"Unit"=>"%","CaptionPosition"=>INDICATOR_CAPTION_BOTTOM,"CaptionR"=>0,"CaptionG"=>0,"CaptionB"=>0,"DrawLeftHead"=>FALSE,"ValueDisplay"=>INDICATOR_VALUE_LABEL,"ValueFontName"=>"../fonts/Forgotte.ttf","ValueFontSize"=>15,"IndicatorSections"=>$IndicatorSections);
83
$Indicator->draw(60,275,580,30,$IndicatorSettings);
85
/* Render the picture (choose the best way) */
86
$myPicture->autoOutput("pictures/example.mixed.png");
b'\\ No newline at end of file'