Notes d'étude PHP : visualisation de données et génération de rapports
Introduction :
Avec le développement d'Internet, la croissance explosive du volume de données et le besoin de plus en plus urgent d'analyse de données, de visualisation de données et de génération de rapports sont devenus une nécessité dans tous les horizons des problèmes rencontrés. Dans le processus d'apprentissage de PHP, il est très important de comprendre les techniques de visualisation de données et les méthodes de génération de rapports couramment utilisées. Cet article présentera les points de connaissances pertinents sur la visualisation de données et la génération de rapports en PHP à travers des exemples de code spécifiques.
1. Visualisation des données
(1) Highcharts : Highcharts est une bibliothèque de graphiques JavaScript puissante et flexible. Il prend en charge de nombreux types de graphiques, notamment les graphiques linéaires, les graphiques à barres, les diagrammes circulaires, etc.
<!DOCTYPE html> <html> <head> <script src="https://code.highcharts.com/highcharts.js"></script> </head> <body> <div id="container" style="width: 600px; height: 400px;"></div> <script> var data = [1, 3, 2, 4, 5]; Highcharts.chart('container', { chart: { type: 'bar' }, title: { text: '柱状图示例' }, xAxis: { categories: ['A', 'B', 'C', 'D', 'E'] }, yAxis: { title: { text: '值' } }, series: [{ name: '数据', data: data }] }); </script> </body> </html>
(2) ECharts : ECharts est une bibliothèque de visualisation de données développée par Baidu, avec de puissantes capacités interactives et des types de graphiques riches. Utilisez ECharts pour créer rapidement divers graphiques, notamment des graphiques linéaires, des graphiques en nuages de points, des graphiques radar, etc.
<!DOCTYPE html> <html> <head> <script src="https://cdn.jsdelivr.net/npm/echarts@5/dist/echarts.min.js"></script> </head> <body> <div id="container" style="width: 600px; height: 400px;"></div> <script> var data = [1, 3, 2, 4, 5]; var myChart = echarts.init(document.getElementById('container')); var option = { title: { text: '折线图示例' }, xAxis: { type: 'category', data: ['A', 'B', 'C', 'D', 'E'] }, yAxis: { type: 'value' }, series: [{ data: data, type: 'line' }] }; myChart.setOption(option); </script> </body> </html>
(3) Google Charts : Google Charts est un ensemble d'outils graphiques puissants fournis par Google. Il peut dessiner différents types de graphiques, tels que des diagrammes circulaires, des cartes, des cartes thermiques, etc.
<!DOCTYPE html> <html> <head> <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> <script type="text/javascript"> google.charts.load('current', {'packages':['corechart']}); google.charts.setOnLoadCallback(drawChart); function drawChart() { var data = google.visualization.arrayToDataTable([ ['Item', 'Value'], ['A', 1], ['B', 3], ['C', 2], ['D', 4], ['E', 5] ]); var options = { title: '饼图示例' }; var chart = new google.visualization.PieChart(document.getElementById('chart')); chart.draw(data, options); } </script> </head> <body> <div id="chart" style="width: 600px; height: 400px;"></div> </body> </html>
<?php $data = [1, 3, 2, 4, 5]; $width = 600; $height = 400; $padding = 10; $font_file = 'font.ttf'; $image = imagecreatetruecolor($width, $height); $background_color = imagecolorallocate($image, 255, 255, 255); $bar_color = imagecolorallocate($image, 0, 0, 255); $text_color = imagecolorallocate($image, 0, 0, 0); imagefill($image, 0, 0, $background_color); $bar_width = ($width - 2 * $padding) / count($data); foreach ($data as $key => $value) { $x = $padding + $key * $bar_width; $bar_height = ($value / max($data)) * ($height - 2 * $padding); $y = $height - $padding - $bar_height; imagefilledrectangle($image, $x, $y, $x + $bar_width, $height - $padding, $bar_color); imagettftext($image, 12, 0, $x, $height - $padding + 15, $text_color, $font_file, $value); } header('Content-Type: image/png'); imagepng($image); imagedestroy($image); ?>
2. Génération de rapports
<?php require_once 'PHPExcel.php'; $excel = new PHPExcel(); $sheet = $excel->getActiveSheet(); $sheet->setCellValue('A1', '姓名'); $sheet->setCellValue('B1', '年龄'); $sheet->setCellValue('A2', '张三'); $sheet->setCellValue('B2', '25'); $sheet->setCellValue('A3', '李四'); $sheet->setCellValue('B3', '30'); header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="report.xlsx"'); header('Cache-Control: max-age=0'); $writer = PHPExcel_IOFactory::createWriter($excel, 'Excel2007'); $writer->save('php://output');
<?php require('fpdf/fpdf.php'); $pdf = new FPDF(); $pdf->AddPage(); $pdf->SetFont('Arial', 'B', 16); $pdf->Cell(40, 10, '姓名'); $pdf->Cell(40, 10, '年龄'); $pdf->Ln(); $pdf->SetFont('Arial', '', 12); $pdf->Cell(40, 10, '张三'); $pdf->Cell(40, 10, '25'); $pdf->Ln(); $pdf->Cell(40, 10, '李四'); $pdf->Cell(40, 10, '30'); $pdf->Output(); ?>
Conclusion :
Cet article présente les points de connaissance pertinents de la visualisation de données et de la génération de rapports en PHP, et fournit des exemples de code spécifiques. En maîtrisant ces connaissances, vous pouvez implémenter différents types de fonctions de visualisation de données et de génération de rapports dans les projets PHP. J'espère que cela vous sera utile pour votre étude et votre pratique !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!