>백엔드 개발 >PHP 튜토리얼 >PHP로 그래픽 그리기

PHP로 그래픽 그리기

WBOY
WBOY앞으로
2024-02-29 17:00:471341검색

PHP 편집기 Shinichi는 PHP로 그래픽을 그리는 방법에 대한 자세한 가이드를 제공합니다. 기본 기하학적 모양을 그리거나 복잡한 데이터 시각화 차트를 만들 때 PHP는 강력한 그래픽 처리 기능을 제공합니다. 이 기사에서는 PHP의 GD 라이브러리 및 기타 도구를 사용하여 웹 페이지에서 다양한 그래픽을 동적으로 생성하는 방법을 소개하고 몇 가지 실용적인 팁과 기술을 탐색합니다. PHP로 그래픽을 그리는 놀라운 세계를 탐험해 보세요!


환경 설정

pChart를 사용하기 전에 먼저 php5를 설치해야 합니다. SourceForge에서 XAMPP 5.5.28의 일부로 PHP5를 얻을 수 있습니다.

XAMPP 5.5.28이 있으면 공식 웹사이트 pChart。之后,将 pChart 提取到 XAMPP 5.5.28 的 htdocs에서 다운로드하세요. 그런 다음 XAMPP 5.5.28의 htdocs 폴더에

를 추출합니다.

pChart

폴더를 엽니다. 구조는 아래 이미지와 같아야 합니다.

在 PHP 中绘制图形

참고:
  • class
  • 폴더에는 우리가 사용할 클래스 정의가 포함되어 있습니다.
  • fonts
  • 폴더에는 다이어그램에 사용할 수 있는 글꼴 파일이 포함되어 있습니다.

pChart

설정을 완료한 후 이제 그리기를 시작할 수 있습니다.

pChart PHP

에서

를 사용하여 막대 차트 그리기 pChart 绘制条形图的 PHP 代码必须包含 class

를 사용하여 막대 차트를 그리는 PHP 코드는
    폴더에 세 개의 파일을 포함해야 합니다. 이 파일은 다음과 같습니다:
  • pData.class.php
  • pImage.class.php
  • pDraw.class.php

pData.class.php 允许你加载将在图表中使用的数据。你需要 pDraw.class.php

이 파일에서

를 사용하면 차트에 사용될 데이터를 로드할 수 있습니다. 그래프를 그리려면 pImage.class.php 将让你在 WEB 浏览器中呈现图表。你必须使用 PHP required_once()가 필요합니다.

다음으로 PCART_PATH 常量。然后使用 set_include_path(),你可以为 pChart

WEB

브라우저에서 차트를 렌더링할 수 있습니다. 이러한 파일을 포함하려면 PHP required_once()를 사용해야 합니다. pChart

상대 경로를 사용하여 포함하거나
    상수를 정의할 수 있습니다. 그런 다음 set_include_path()를 사용하면
  • 클래스에 대한 짧은 디렉터리 이름을 사용할 수 있습니다. PCART_PATH
  • 그렇다면 다음 단계를 사용하여
  • 로 막대 차트를 만들 수 있습니다. set_include_path() 作为 pChart
  • required_once() 包含 pChart 상수를 정의하세요.
  • pData 클래스의 짧은 디렉터리 이름으로 set_include_path()를 사용하세요.
  • 클래스를 포함하려면 required_once()를 사용하세요.
  • addPoints 方法将数据添加到 pData
  • 개체를 만듭니다.
  • pImage 데이터를 생성하거나 가져오세요.
  • 개체에 데이터를 추가하려면 addPoints 메서드를 사용하세요.
  • pDatasetGraphArea
  • 개체를 사용하여 차트용 이미지를 만듭니다.
  • pDatadrawScaledrawBarChart 차트의 글꼴을 설정합니다.
  • setGraphArea 메소드를 사용하여 그래프 영역을 설정하세요.
  • pDataRender 方法渲染图像。确保将 null 传递给 Render 스케일과 막대를 그리려면
  • drawScaledrawBarChart 메서드를 사용하세요.

브라우저에 이미지를 보내고 있음을 알리기 위해 헤더 정보를 보냅니다.

Render 메소드를 사용하여 이미지를 렌더링하세요. Render 메서드에 null을 전달해야 합니다.

使用 pChart 绘制的条形图

다음은 이러한 단계의 구현입니다. 다음은 Firefox 101.0의 출력 이미지입니다.
으아아아

출력: pChart

drawSplineChart

PHPpDataStroke에서

를 사용하여 스플라인 그리기

스플라인을 그리는 과정은 스플라인을 그리는 데 pChart 绘制样条图。此外,我们使用的是 fonts 目录中的 MankSans.ttf 방법을 사용한다는 점을 제외하면 막대를 그리는 과정과 동일합니다. 또한 차트를 이미지로 보내지 않도록 선택할 수도 있습니다.

대신

Stroke 메소드를 선택하여 웹 브라우저에서 차트를 렌더링할 수 있습니다.

用 pChart 绘制的样条图 다음 코드는

를 사용하여 스플라인을 그립니다. 또한
디렉토리의 MankSans.ttf 글꼴을 사용하고 있습니다.

으아아아 출력:

PHP🎜의 🎜mysql🎜 🎜database🎜에서 막대 차트 그리기 🎜 히스토그램 그리기는 막대 및 스플라인 플롯과 유사한 단계를 따릅니다. 그러나 지적할 만한 몇 가지 차이점이 있습니다. 🎜

首先,直方图的数据将来自 Mysql。这意味着你应该有一个包含一些示例数据的数据库

其次,你将使用表列名称作为直方图上的轴。为此,你将使用一些 pData 方法,例如 setAbscissasetSeriesOnAxissetAxisName

现在,创建一个名为 weather_measurements 的数据库,然后使用以下命令创建一个表:

CREATE TABLE measures (
timestamp INT NOT NULL DEFAULT '0',
temperature INT NOT NULL,
humidity INT NOT NULL
)

使用以下命令将样本数据插入 measures 表中:

INSERT INTO measures (timestamp, temperature, humidity) VALUES (UNIX_TIMESTAMP(), 20, 50);
INSERT INTO measures (timestamp, temperature, humidity) VALUES (UNIX_TIMESTAMP(), 18, 44);
INSERT INTO measures (timestamp, temperature, humidity) VALUES (UNIX_TIMESTAMP(), 19, 70);

确保样本数据在数据库中,然后使用以下命令创建直方图:

<?php
// The definition of the PCHART_PATH assumes
// you have pChart one directory above your
// current working folder.
define("PCHART_PATH", "../pChart");
set_include_path(get_include_path() . PATH_SEPARATOR . PCHART_PATH);
// Since we have defined the path, and used
// the get_include_path() function, we can
// reference the class folder without writing
// its full path.
require_once "class/pDraw.class.php";
require_once "class/pImage.class.php";
require_once "class/pData.class.php";
// Create the pChart Object
$pchart_data = new pData();

// Connect to MySQL
$connect_to_mysql = new mysqli("localhost", "root", "", "weather_measurements");

// query the database and get the result
$query_the_table = "SELEC&#84; * FROM measures";
$mysql_result= mysqli_query($connect_to_mysql, $query_the_table);
// Declare the variables for the database
// records as empty strings. Later, we&#39;ll
// turn them into arrays for better perfORMance
$timestamp = ""; $temperature = ""; $humidity = "";
while($row = mysqli_fetch_array($mysql_result, MYSQLI_ASSOC)) {
$timestamp[] = $row["timestamp"];
$temperature[] = $row["temperature"];
$humidity[]= $row["humidity"];
}

$pchart_data->addPoints($timestamp,"Timestamp");
$pchart_data->addPoints($temperature,"Temperature");
$pchart_data->addPoints($humidity,"Humidity");
// Put the table column on the appropriate axis
$pchart_data->setAbscissa("Timestamp");
$pchart_data->setSerieOnAxis("Humidity", 1);
$pchart_data->setXAxisName("Time");
$pchart_data->setXAxisDisplay(AXIS_FORMAT_TIME,"H:i");
// Dedicate the first and second axis to
// Temperature and Humidity.
$pchart_data->setAxisName(0, "Temperature");
$pchart_data->setAxisUnit(0, "&deg;C");
$pchart_data->setAxisName(1, "Humidity");
$pchart_data->setAxisUnit(0, "%");
// Create the pChart Image. The first two argument
// to the pImage object are the width and height
// of the rendered chart.
$pchart_image = new pImage(500, 300, $pchart_data);
// Set the font.
$pchart_image->setFontProperties(
["FontName" => PCHART_PATH . "/fonts/verdana.ttf",
"FontSize"=> 11]
);
// Set the graph area.
$pchart_image->setGraphArea(55,25, 475,275);
$pchart_image->drawScale();
$pchart_image->drawBarChart();
// Draw the chart as a stroke.
$pchart_image->Stroke();
?>

输出(你的时间会有所不同):

使用 pChart 绘制的直方图

위 내용은 PHP로 그래픽 그리기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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