PHP study notes: data visualization and report generation
Introduction:
With the development of the Internet, the explosive growth of data volume and the increasing demand for data analysis Urgently, data visualization and report generation have become issues that all walks of life need to face. In the process of learning PHP, it is very important to understand commonly used data visualization techniques and report generation methods. This article will introduce relevant knowledge points of data visualization and report generation in PHP through specific code examples.
1. Data visualization
(1) Highcharts: Highcharts is a powerful and flexible JavaScript chart library. It supports many types of charts, including line charts, bar charts, pie charts, 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 is a data visualization library developed by Baidu, with powerful interactive capabilities and rich chart types. Use ECharts to quickly create various charts, including line charts, scatter charts, radar charts, 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 is a set of powerful charting tools provided by Google. It can draw various types of charts, such as pie charts, maps, heat maps, 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. Report generation
<?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:
This article introduces the relevant knowledge points of data visualization and report generation in PHP, and provides specific code examples. By mastering this knowledge, you can implement various types of data visualization and report generation functions in PHP projects. I hope it will be helpful to your study and practice!
The above is the detailed content of PHP study notes: data visualization and report generation. For more information, please follow other related articles on the PHP Chinese website!