本文实例讲述了php图形jpgraph操作。分享给大家供大家参考,具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
<?php include ( "src/jpgraph.php" ); include ( "src/jpgraph_bar.php" ); include ( "src/jpgraph_line.php" ); //设置显示的数据数组; //调用类库 //设置图像的大小 $graph = new Graph(400,200, "auto" ); $graph ->SetScale( "textlin" ); //设置图形的边距 $graph ->img->SetMargin(40,180,40,40); //设置图形的背景图片,填充方式有:BGIMG_FILLPLOT, BGIMG_FILLFRAME, BGIMG_COPY $graph ->SetBackgroundImage( "abc.jpg" ,BGIMG_FILLPLOT); $graph ->img->SetAngle(45); //设置图形在图像中的角度 //设置背景图片的对比度,must be between -1 <= x <= 1, (0,0)=original image $graph ->AdjBackgroundImage(0,0); //设置投影; //$graph->SetShadow(); //设置标题 $graph ->title->Set( "test image" ); //设置标题字体样式 $graph ->title->SetFont(FF_FONT1,FS_BOLD); //设置标题的边距 $graph ->title->SetMargin(3); //设置图列的位置 $graph ->legend->Pos(0.05,0.5, "right" , "center" ); //设置图列的投影,颜色 $graph ->legend->SetShadow( 'darkgray@0.1' ); $graph ->legend->SetFillColor( 'lightblue@0.3' ); //设置x轴的标记 $graph ->xaxis->SetTickLabels( $label_x ); //设置X轴的显示值的角度; $graph ->xaxis->SetLabelAngle(30); //设置x轴标题和字体颜色 $graph ->xaxis->title->Set( 'Year 2006' ); $graph ->xaxis->title->SetFont(FF_FONT1,FS_BOLD); $graph ->xaxis->title->SetColor( 'white' ); //设置x轴的字体和颜色 $graph ->xaxis->SetFont(FF_FONT1,FS_BOLD); $graph ->xaxis->SetColor( 'yellow' ); //设置y轴的字体和颜色 $graph ->yaxis->SetFont(FF_FONT1,FS_BOLD); $graph ->yaxis->SetColor( 'yellow' ); //设置是否显示格子。默认为显示; //$graph->ygrid->Show(false); //设置格子的颜色和粗细。值越小,格子越粗。 $graph ->ygrid->SetColor( 'yellow@0.5' ); //设置y轴更优美一些 $graph ->yaxis->scale->SetGrace(20); //设置图列的数据 $bplot1 = new BarPlot( $datay1 ); $bplot2 = new BarPlot( $datay2 ); //设置图列的填充颜色 $bplot1 ->SetFillColor( 'orange@0.4' ); $bplot2 ->SetFillColor( 'brown@0.4' ); //设置值的格式 $bplot1 ->value->SetFormat( '%d' ); //设置图列标签 $bplot1 ->SetLegend( 'Label 1' ); $bplot2 ->SetLegend( 'Label 2' ); //设置图列在图中的阴影 $bplot1 ->SetShadow( 'black@0.4' ); $bplot2 ->SetShadow( 'black@0.4' ); //生成图列 $gbarplot = new GroupBarPlot( array ( $bplot1 , $bplot2 )); $gbarplot ->SetWidth(0.9); $graph ->Add( $gbarplot ); //生成图形 $graph ->Stroke(); //上面所说的时在生成柱形图,当生成线性图时用下面的方法 $p1 = new LinePlot( $datay ); $p1 ->mark->SetType(MARK_FILLEDCIRCLE); $p1 ->mark->SetFillColor( "red" ); $p1 ->mark->SetWidth(4); $p1 ->SetColor( "blue" ); $p1 ->SetCenter(); $p1 ->SetLegend( "Triumph Tiger -98" ); $graph ->Add( $p1 ); $p2 = new LinePlot( $data2y ); $p2 ->mark->SetType(MARK_STAR); $p2 ->mark->SetFillColor( "red" ); $p2 ->mark->SetWidth(4); $p2 ->SetColor( "red" ); $p2 ->SetCenter(); $p2 ->SetLegend( "New tiger -99" ); $graph ->Add( $p2 ); // Style can also be specified as SetStyle([1|2|3|4]) or // SetStyle("solid"|"dotted"|"dashed"|"lobgdashed") $lineplot ->SetStyle( "dashed" ); //设置线的样式 $graph ->yaxis->scale->SetGrace(20); //设置y轴更优美一些 ?> |
2.柱形图和饼状图举例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
if ( $tag == 1) { $graph = new Graph(600,400, "auto" ); $graph ->SetScale( "textlin" ); $graph ->setMarginColor( 'lightblue' ); $graph ->SetShadow(); $graph ->setMargin(30,100,30,60); //设置标题; $graph ->title->set( "文章分类汇总" ); $graph ->title->SetMargin(3); $graph ->title->setfont(FF_SIMSUN,FS_BOLD); $graph ->title->setcolor( 'black@0.5' ); $graph ->yaxis->title->SetFont(FF_SIMSUN,FS_BOLD); $graph ->xaxis->title->SetFont(FF_SIMSUN,FS_BOLD); $graph ->xaxis->SetFont(FF_SIMSUN,FS_NORMAL); $graph ->xaxis->SetColor( 'darkblue' , 'black' ); $graph ->xaxis->SetTickLabels( $name ); $graph ->xaxis->SetLabelAngle(30); $bplot = new BarPlot( $article_num ); $bplot ->SetFillColor( "orange" ); $bplot ->value->SetFormat( '%d' ); $bplot ->SetShadow( 'darkgray' ); $bplot ->value->show(); $graph ->legend->SetFont(FF_SIMSUN,FS_BOLD); $bplot ->SetLegend( "文章数" ); $graph ->Add( $bplot ); $graph ->Stroke(); } else { $graph1 = new PieGraph(600,400, "auto" ); $graph1 ->SetScale( "textlin" ); $graph1 ->SetShadow(); $graph1 ->title->setFont(FF_SIMSUN,FS_BOLD); $graph1 ->title->set( "用户文章饼形图" ); $graph1 ->setMargin(30,100,30,60); $p1 = new pieplot3d( $article_num ); $p1 ->setAngle(80); $p1 ->setsize(0.5); $p1 ->setShadow(); $p1 ->ExplodeSlice(2); $p1 ->SetCenter(0.4); $graph1 ->legend->SetFont(FF_SIMSUN,FS_NORMAL); $graph1 ->legend->setshadow(); $p1 ->SetLegends( $name ); $graph1 ->Add( $p1 ); $graph1 ->Stroke(); } //生成本地图片 $graph ->Stroke( "路径/文件名.png" ); |
希望本文所述对大家PHP程序设计有所帮助。