>백엔드 개발 >PHP 튜토리얼 >차트 pChart를 생성하기 위해 PHP를 구문 분석하는 예

차트 pChart를 생성하기 위해 PHP를 구문 분석하는 예

coldplay.xixi
coldplay.xixi앞으로
2020-08-04 15:45:183306검색

차트 pChart를 생성하기 위해 PHP를 구문 분석하는 예

pChart은 주로 pChart.class, pData.class, pCache.class의 3개 클래스를 포함하는 오픈 소스 차트 생성 라이브러리로, 20개 이상의 단순하거나 복잡한 차트를 생성할 수 있으며 PNG, JPG 및 GIF 일반 이미지를 지원합니다. . 데이터 소스는 데이터베이스, CSV 또는 직접 작성한 것에서 가져올 수 있습니다. 이 프로그램 PHP를 사용하려면 GD 서비스를 활성화해야 합니다. 먼저 pChart의 작업 흐름을 살펴보겠습니다.

관련 학습 권장 사항: PHP 프로그래밍 입문부터 숙련까지

주로 나뉩니다. 세 단계로:

  1. * 읽기 차트 생성에 사용되는 데이터(데이터베이스, 파일) 가져오기
  2. * 차트 스타일 디자인(둥근 모서리, 배경색 등)
  3. * 레이블, 제목, 범례 만들기 및 차트 생성

아래의 간단한 세로 막대형 차트를 보세요:

코드는 다음과 같습니다:

<?php
 // Standard inclusions 
 include("pChart/pData.class");
 include("pChart/pChart.class");

 // Dataset definition 
 $DataSet = new pData;
 //图表数据
 $DataSet->AddPoint(array(1,4,-3,2,-3,3,2,1,0,7,4),"Serie1");
 $DataSet->AddPoint(array(3,3,-4,1,-2,2,1,0,-1,6,3),"Serie2");
 $DataSet->AddPoint(array(4,1,2,-1,-4,-2,3,2,1,2,2),"Serie3");
 $DataSet->AddAllSeries();
 $DataSet->SetAbsciseLabelSerie();
 //数据图例
 $DataSet->SetSerieName("Microsoft","Serie1");
 $DataSet->SetSerieName("IBM","Serie2");
 $DataSet->SetSerieName("Google","Serie3");

 // Initialise the graph
 $Test = new pChart(700,230);
 //设置图表尺寸、样式
 $Test->setFontProperties("Fonts/tahoma.ttf",8);
 $Test->setGraphArea(50,30,680,200);
 $Test->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);
 $Test->drawRoundedRectangle(5,5,695,225,5,230,230,230);
 $Test->drawGraphArea(255,255,255,TRUE);
 $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2,TRUE);
 $Test->drawGrid(4,TRUE,230,230,230,50);

 // Draw the 0 line
 $Test->setFontProperties("Fonts/MankSans.ttf",6);
 $Test->drawTreshold(0,143,55,72,TRUE,TRUE);

 // Draw the bar graph
 //柱状图要使用drawBarGraph()
 $Test->drawBarGraph($DataSet->GetData(),$DataSet->GetDataDescription(),TRUE,80);


 // Finish the graph
 //制作图例、标题、字体等属性
 $Test->setFontProperties("Fonts/MankSans.ttf",10);
 $Test->drawLegend(596,150,$DataSet->GetDataDescription(),255,255,255);
 $Test->setFontProperties("Fonts/MankSans.ttf",10);
 $Test->drawTitle(50,22,"Example",50,50,50,585);
 
 //生成图表
 $imageFile = "example12.png";
 $Test->Render($imageFile);
 echo &#39;<img src="&#39;.$imageFile.&#39;">&#39;;
?>

이것은 레이더 효과입니다:

코드:

<?php
 // Standard inclusions 
 include("pChart/pData.class");
 include("pChart/pChart.class");

 // Dataset definition 
 $DataSet = new pData;
 $DataSet->AddPoint(array("Memory","Disk","Network","Slots","CPU"),"Label");
 $DataSet->AddPoint(array(6,4,7,4,5),"Serie1");
 $DataSet->AddPoint(array(2,3,5,2,4),"Serie2");
 $DataSet->AddSerie("Serie1");
 $DataSet->AddSerie("Serie2");
 $DataSet->SetAbsciseLabelSerie("Label");


 $DataSet->SetSerieName("Reference","Serie1");
 $DataSet->SetSerieName("Tested computer","Serie2");

 // Initialise the graph
 $Test = new pChart(400,400);
 $Test->setFontProperties("Fonts/tahoma.ttf",8);
 $Test->drawFilledRoundedRectangle(7,7,393,393,5,240,240,240);
 $Test->drawRoundedRectangle(5,5,395,395,5,230,230,230);
 $Test->setGraphArea(30,30,370,370);
 $Test->drawFilledRoundedRectangle(30,30,370,370,5,255,255,255);
 $Test->drawRoundedRectangle(30,30,370,370,5,220,220,220);

 // Draw the radar graph
 //要使用drawRadarAxis()生成雷达效果
 $Test->drawRadarAxis($DataSet->GetData(),$DataSet->GetDataDescription(),TRUE,20,120,120,120,230,230,230);
 $Test->drawFilledRadar($DataSet->GetData(),$DataSet->GetDataDescription(),50,20);

 // Finish the graph
 $Test->drawLegend(15,15,$DataSet->GetDataDescription(),255,255,255);
 $Test->setFontProperties("Fonts/tahoma.ttf",10);
 $Test->drawTitle(0,22,"Example",50,50,50,400);
 
 $imageFile = "example8.png";
 $Test->Render($imageFile);
 echo &#39;<img src="&#39;.$imageFile.&#39;">&#39;;
?>

몇 가지 다른 효과를 살펴보겠습니다

1, 파이 차트:

2, 이중 좌표 곡선 차트:

3, 누적 컬럼 차트:

4, 멀티 차트:

차트 종류는 다음과 같습니다. 특정 차트 설정은

http://pchart를 참조하세요. sourceforge.net/documentation.php?topic=pChart

::소스 코드 다운로드:::

http://xiazai.jb51. net/202007/yuanma/pChart_jb51.rar

위 내용은 차트 pChart를 생성하기 위해 PHP를 구문 분석하는 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 jb51.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제