本文实例讲述了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程序设计有所帮助。