Blame | Letzte Änderung | Log anzeigen | RSS feed
<code><font color="#000000"><font color="#0000BB"><?php<br /></font><font color="#FF8000">// Gantt example<br /></font><font color="#007700">include (</font><font color="#DD0000">"../jpgraph.php"</font><font color="#007700">);<br />include (</font><font color="#DD0000">"../jpgraph_gantt.php"</font><font color="#007700">);<br /><br /></font><font color="#FF8000">// Basic Gantt graph<br /></font><font color="#0000BB">$graph </font><font color="#007700">= new </font><font color="#0000BB">GanttGraph</font><font color="#007700">();<br /></font><font color="#0000BB">$graph</font><font color="#007700">-></font><font color="#0000BB">title</font><font color="#007700">-></font><font color="#0000BB">Set</font><font color="#007700">(</font><font color="#DD0000">"Using the builtin icons"</font><font color="#007700">);<br /><br /></font><font color="#FF8000">// Explicitely set the date range <br />// (Autoscaling will of course also work)<br /></font><font color="#0000BB">$graph</font><font color="#007700">-></font><font color="#0000BB">SetDateRange</font><font color="#007700">(</font><font color="#DD0000">'2001-10-06'</font><font color="#007700">,</font><font color="#DD0000">'2002-4-10'</font><font color="#007700">);<br /><br /><br /></font><font color="#FF8000">// 1.5 line spacing to make more room<br /></font><font color="#0000BB">$graph</font><font color="#007700">-></font><font color="#0000BB">SetVMarginFactor</font><font color="#007700">(</font><font color="#0000BB">1.5</font><font color="#007700">);<br /><br /></font><font color="#FF8000">// Setup some nonstandard colors<br /></font><font color="#0000BB">$graph</font><font color="#007700">-></font><font color="#0000BB">SetMarginColor</font><font color="#007700">(</font><font color="#DD0000">'lightgreen@0.8'</font><font color="#007700">);<br /></font><font color="#0000BB">$graph</font><font color="#007700">-></font><font color="#0000BB">SetBox</font><font color="#007700">(</font><font color="#0000BB">true</font><font color="#007700">,</font><font color="#DD0000">'yellow:0.6'</font><font color="#007700">,</font><font color="#0000BB">2</font><font color="#007700">);<br /></font><font color="#0000BB">$graph</font><font color="#007700">-></font><font color="#0000BB">SetFrame</font><font color="#007700">(</font><font color="#0000BB">true</font><font color="#007700">,</font><font color="#DD0000">'darkgreen'</font><font color="#007700">,</font><font color="#0000BB">4</font><font color="#007700">);<br /></font><font color="#0000BB">$graph</font><font color="#007700">-></font><font color="#0000BB">scale</font><font color="#007700">-></font><font color="#0000BB">divider</font><font color="#007700">-></font><font color="#0000BB">SetColor</font><font color="#007700">(</font><font color="#DD0000">'yellow:0.6'</font><font color="#007700">);<br /></font><font color="#0000BB">$graph</font><font color="#007700">-></font><font color="#0000BB">scale</font><font color="#007700">-></font><font color="#0000BB">dividerh</font><font color="#007700">-></font><font color="#0000BB">SetColor</font><font color="#007700">(</font><font color="#DD0000">'yellow:0.6'</font><font color="#007700">);<br /><br /></font><font color="#FF8000">// Display month and year scale with the gridlines<br /></font><font color="#0000BB">$graph</font><font color="#007700">-></font><font color="#0000BB">ShowHeaders</font><font color="#007700">(</font><font color="#0000BB">GANTT_HMONTH </font><font color="#007700">| </font><font color="#0000BB">GANTT_HYEAR</font><font color="#007700">);<br /></font><font color="#0000BB">$graph</font><font color="#007700">-></font><font color="#0000BB">scale</font><font color="#007700">-></font><font color="#0000BB">month</font><font color="#007700">-></font><font color="#0000BB">grid</font><font color="#007700">-></font><font color="#0000BB">SetColor</font><font color="#007700">(</font><font color="#DD0000">'gray'</font><font color="#007700">);<br /></font><font color="#0000BB">$graph</font><font color="#007700">-></font><font color="#0000BB">scale</font><font color="#007700">-></font><font color="#0000BB">month</font><font color="#007700">-></font><font color="#0000BB">grid</font><font color="#007700">-></font><font color="#0000BB">Show</font><font color="#007700">(</font><font color="#0000BB">true</font><font color="#007700">);<br /></font><font color="#0000BB">$graph</font><font color="#007700">-></font><font color="#0000BB">scale</font><font color="#007700">-></font><font color="#0000BB">year</font><font color="#007700">-></font><font color="#0000BB">grid</font><font color="#007700">-></font><font color="#0000BB">SetColor</font><font color="#007700">(</font><font color="#DD0000">'gray'</font><font color="#007700">);<br /></font><font color="#0000BB">$graph</font><font color="#007700">-></font><font color="#0000BB">scale</font><font color="#007700">-></font><font color="#0000BB">year</font><font color="#007700">-></font><font color="#0000BB">grid</font><font color="#007700">-></font><font color="#0000BB">Show</font><font color="#007700">(</font><font color="#0000BB">true</font><font color="#007700">);<br /><br /></font><font color="#FF8000">// For the titles we also add a minimum width of 100 pixels for the Task name column<br /></font><font color="#0000BB">$graph</font><font color="#007700">-></font><font color="#0000BB">scale</font><font color="#007700">-></font><font color="#0000BB">actinfo</font><font color="#007700">-></font><font color="#0000BB">SetColTitles</font><font color="#007700">(<br /> array(</font><font color="#DD0000">'Note'</font><font color="#007700">,</font><font color="#DD0000">'Task'</font><font color="#007700">,</font><font color="#DD0000">'Duration'</font><font color="#007700">,</font><font color="#DD0000">'Start'</font><font color="#007700">,</font><font color="#DD0000">'Finish'</font><font color="#007700">),array(</font><font color="#0000BB">30</font><font color="#007700">,</font><font color="#0000BB">100</font><font color="#007700">));<br /></font><font color="#0000BB">$graph</font><font color="#007700">-></font><font color="#0000BB">scale</font><font color="#007700">-></font><font color="#0000BB">actinfo</font><font color="#007700">-></font><font color="#0000BB">SetBackgroundColor</font><font color="#007700">(</font><font color="#DD0000">'green:0.5@0.5'</font><font color="#007700">);<br /></font><font color="#0000BB">$graph</font><font color="#007700">-></font><font color="#0000BB">scale</font><font color="#007700">-></font><font color="#0000BB">actinfo</font><font color="#007700">-></font><font color="#0000BB">SetFont</font><font color="#007700">(</font><font color="#0000BB">FF_ARIAL</font><font color="#007700">,</font><font color="#0000BB">FS_NORMAL</font><font color="#007700">,</font><font color="#0000BB">10</font><font color="#007700">);<br /></font><font color="#0000BB">$graph</font><font color="#007700">-></font><font color="#0000BB">scale</font><font color="#007700">-></font><font color="#0000BB">actinfo</font><font color="#007700">-></font><font color="#0000BB">vgrid</font><font color="#007700">-></font><font color="#0000BB">SetStyle</font><font color="#007700">(</font><font color="#DD0000">'solid'</font><font color="#007700">);<br /></font><font color="#0000BB">$graph</font><font color="#007700">-></font><font color="#0000BB">scale</font><font color="#007700">-></font><font color="#0000BB">actinfo</font><font color="#007700">-></font><font color="#0000BB">vgrid</font><font color="#007700">-></font><font color="#0000BB">SetColor</font><font color="#007700">(</font><font color="#DD0000">'gray'</font><font color="#007700">);<br /><br /></font><font color="#FF8000">// Uncomment this to keep the columns but show no headers<br />//$graph->scale->actinfo->Show(false);<br /><br />// Setup the icons we want to use<br /></font><font color="#0000BB">$erricon </font><font color="#007700">= new </font><font color="#0000BB">IconImage</font><font color="#007700">(</font><font color="#0000BB">GICON_FOLDER</font><font color="#007700">,</font><font color="#0000BB">0.6</font><font color="#007700">);<br /></font><font color="#0000BB">$startconicon </font><font color="#007700">= new </font><font color="#0000BB">IconImage</font><font color="#007700">(</font><font color="#0000BB">GICON_FOLDEROPEN</font><font color="#007700">,</font><font color="#0000BB">0.6</font><font color="#007700">);<br /></font><font color="#0000BB">$endconicon </font><font color="#007700">= new </font><font color="#0000BB">IconImage</font><font color="#007700">(</font><font color="#0000BB">GICON_TEXTIMPORTANT</font><font color="#007700">,</font><font color="#0000BB">0.5</font><font color="#007700">);<br /><br /></font><font color="#FF8000">// Store the icons in the first column and use plain text in the others<br /></font><font color="#0000BB">$data </font><font color="#007700">= array(<br /> array(</font><font color="#0000BB">0</font><font color="#007700">,array(</font><font color="#0000BB">$erricon</font><font color="#007700">,</font><font color="#DD0000">"Pre-study"</font><font color="#007700">,</font><font color="#DD0000">"102 days"</font><font color="#007700">,</font><font color="#DD0000">"23 Nov '01"</font><font color="#007700">,</font><font color="#DD0000">"1 Mar '02"</font><font color="#007700">)<br /> , </font><font color="#DD0000">"2001-11-23"</font><font color="#007700">,</font><font color="#DD0000">"2002-03-1"</font><font color="#007700">,</font><font color="#0000BB">FF_ARIAL</font><font color="#007700">,</font><font color="#0000BB">FS_NORMAL</font><font color="#007700">,</font><font color="#0000BB">8</font><font color="#007700">),<br /> array(</font><font color="#0000BB">1</font><font color="#007700">,array(</font><font color="#0000BB">$startconicon</font><font color="#007700">,</font><font color="#DD0000">"Prototype"</font><font color="#007700">,</font><font color="#DD0000">"21 days"</font><font color="#007700">,</font><font color="#DD0000">"26 Oct '01"</font><font color="#007700">,</font><font color="#DD0000">"16 Nov '01"</font><font color="#007700">),<br /> </font><font color="#DD0000">"2001-10-26"</font><font color="#007700">,</font><font color="#DD0000">"2001-11-16"</font><font color="#007700">,</font><font color="#0000BB">FF_ARIAL</font><font color="#007700">,</font><font color="#0000BB">FS_NORMAL</font><font color="#007700">,</font><font color="#0000BB">8</font><font color="#007700">),<br /> array(</font><font color="#0000BB">2</font><font color="#007700">,array(</font><font color="#0000BB">$endconicon</font><font color="#007700">,</font><font color="#DD0000">"Report"</font><font color="#007700">,</font><font color="#DD0000">"12 days"</font><font color="#007700">,</font><font color="#DD0000">"1 Mar '02"</font><font color="#007700">,</font><font color="#DD0000">"13 Mar '02"</font><font color="#007700">),<br /> </font><font color="#DD0000">"2002-03-01"</font><font color="#007700">,</font><font color="#DD0000">"2002-03-13"</font><font color="#007700">,</font><font color="#0000BB">FF_ARIAL</font><font color="#007700">,</font><font color="#0000BB">FS_NORMAL</font><font color="#007700">,</font><font color="#0000BB">8</font><font color="#007700">)<br />);<br /> <br /></font><font color="#FF8000">// Create the bars and add them to the gantt chart<br /></font><font color="#007700">for(</font><font color="#0000BB">$i</font><font color="#007700">=</font><font color="#0000BB">0</font><font color="#007700">; </font><font color="#0000BB">$i</font><font color="#007700"><</font><font color="#0000BB">count</font><font color="#007700">(</font><font color="#0000BB">$data</font><font color="#007700">); ++</font><font color="#0000BB">$i</font><font color="#007700">) {<br /> </font><font color="#0000BB">$bar </font><font color="#007700">= new </font><font color="#0000BB">GanttBar</font><font color="#007700">(</font><font color="#0000BB">$data</font><font color="#007700">[</font><font color="#0000BB">$i</font><font color="#007700">][</font><font color="#0000BB">0</font><font color="#007700">],</font><font color="#0000BB">$data</font><font color="#007700">[</font><font color="#0000BB">$i</font><font color="#007700">][</font><fontcolor="#0000BB">1</font><font color="#007700">],</font><font color="#0000BB">$data</font><font color="#007700">[</font><font color="#0000BB">$i</font><font color="#007700">][</font><font color="#0000BB">2</font><font color="#007700">],</font><font color="#0000BB">$data</font><font color="#007700">[</font><font color="#0000BB">$i</font><font color="#007700">][</font><font color="#0000BB">3</font><font color="#007700">],</font><font color="#DD0000">"[50%]"</font><font color="#007700">,</font><font color="#0000BB">10</font><font color="#007700">);<br /> if( </font><font color="#0000BB">count</font><font color="#007700">(</font><font color="#0000BB">$data</font><font color="#007700">[</font><font color="#0000BB">$i</font><font color="#007700">])></font><font color="#0000BB">4 </font><font color="#007700">)<br /> </font><font color="#0000BB">$bar</font><font color="#007700">-></font><font color="#0000BB">title</font><font color="#007700">-></font><font color="#0000BB">SetFont</font><font color="#007700">(</font><font color="#0000BB">$data</font><font color="#007700">[</font><font color="#0000BB">$i</font><font color="#007700">][</font><font color="#0000BB">4</font><font color="#007700">],</font><font color="#0000BB">$data</font><font color="#007700">[</font><font color="#0000BB">$i</font><font color="#007700">][</font><font color="#0000BB">5</font><font color="#007700">],</font><font color="#0000BB">$data</font><font color="#007700">[</font><font color="#0000BB">$i</font><font color="#007700">][</font><font color="#0000BB">6</font><font color="#007700">]);<br /> </font><font color="#0000BB">$bar</font><font color="#007700">-></font><font color="#0000BB">SetPattern</font><font color="#007700">(</font><font color="#0000BB">BAND_RDIAG</font><font color="#007700">,</font><font color="#DD0000">"yellow"</font><font color="#007700">);<br /> </font><font color="#0000BB">$bar</font><font color="#007700">-></font><font color="#0000BB">SetFillColor</font><font color="#007700">(</font><font color="#DD0000">"gray"</font><font color="#007700">);<br /> </font><font color="#0000BB">$bar</font><font color="#007700">-></font><font color="#0000BB">progress</font><font color="#007700">-></font><font color="#0000BB">Set</font><font color="#007700">(</font><font color="#0000BB">0.5</font><font color="#007700">);<br /> </font><font color="#0000BB">$bar</font><font color="#007700">-></font><font color="#0000BB">progress</font><font color="#007700">-></font><font color="#0000BB">SetPattern</font><font color="#007700">(</font><font color="#0000BB">GANTT_SOLID</font><font color="#007700">,</font><font color="#DD0000">"darkgreen"</font><font color="#007700">);<br /> </font><font color="#0000BB">$bar</font><font color="#007700">-></font><font color="#0000BB">title</font><font color="#007700">-></font><font color="#0000BB">SetCSIMTarget</font><font color="#007700">(array(</font><font color="#DD0000">'#1'</font><font color="#007700">.</font><font color="#0000BB">$i</font><font color="#007700">,</font><font color="#DD0000">'#2'</font><font color="#007700">.</font><font color="#0000BB">$i</font><font color="#007700">,</font><font color="#DD0000">'#3'</font><font color="#007700">.</font><font color="#0000BB">$i</font><font color="#007700">,</font><font color="#DD0000">'#4'</font><font color="#007700">.</font><font color="#0000BB">$i</font><font color="#007700">,</font><font color="#DD0000">'#5'</font><font color="#007700">.</font><font color="#0000BB">$i</font><font color="#007700">),array(</font><font color="#DD0000">'11'</font><font color="#007700">.</font><font color="#0000BB">$i</font><font color="#007700">,</font><font color="#DD0000">'22'</font><font color="#007700">.</font><font color="#0000BB">$i</font><font color="#007700">,</font><font color="#DD0000">'33'</font><font color="#007700">.</font><font color="#0000BB">$i</font><font color="#007700">));<br /> </font><font color="#0000BB">$graph</font><font color="#007700">-></font><font color="#0000BB">Add</font><font color="#007700">(</font><font color="#0000BB">$bar</font><font color="#007700">);<br />}<br /><br /></font><font color="#FF8000">// Output the chart<br /></font><font color="#0000BB">$graph</font><font color="#007700">-></font><font color="#0000BB">Stroke</font><font color="#007700">();<br /><br /></font><font color="#0000BB">?><br /></font><br /><br /></font></code>