nota kajian PHP: visualisasi data dan penjanaan laporan
Pengenalan:
Dengan perkembangan Internet, jumlah data Permintaan untuk pertumbuhan dan analisis data menjadi semakin mendesak, dan visualisasi data dan penjanaan laporan telah menjadi isu yang perlu dihadapi oleh semua lapisan masyarakat. Dalam proses pembelajaran PHP, adalah sangat penting untuk memahami teknik visualisasi data yang biasa digunakan dan kaedah penjanaan laporan. Artikel ini akan memperkenalkan mata pengetahuan berkaitan visualisasi data dan penjanaan laporan dalam PHP melalui contoh kod tertentu.
1. Visualisasi data
(1) Highcharts: Highcharts ialah perpustakaan carta JavaScript yang berkuasa dan fleksibel. Ia menyokong banyak jenis carta, termasuk carta garis, carta bar, carta pai, dsb.
<!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 ialah perpustakaan visualisasi data yang dibangunkan oleh Baidu, dengan keupayaan interaktif yang berkuasa dan jenis carta yang kaya. Gunakan ECharts untuk membuat pelbagai carta dengan cepat, termasuk carta garisan, carta serakan, carta radar, dsb.
<!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) Carta Google: Carta Google ialah satu set alat carta berkuasa yang disediakan oleh Google. Ia boleh melukis pelbagai jenis carta, seperti carta pai, peta, peta haba, dsb.
<!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. Penjanaan laporan
<?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(); ?>
Artikel ini memperkenalkan mata pengetahuan yang berkaitan tentang visualisasi data dan penjanaan laporan dalam PHP dan menyediakan khusus kod Contoh. Dengan menguasai pengetahuan ini, anda boleh melaksanakan pelbagai jenis visualisasi data dan fungsi penjanaan laporan dalam projek PHP. Saya harap ia akan membantu kajian dan latihan anda!
Atas ialah kandungan terperinci Nota kajian PHP: visualisasi data dan penjanaan laporan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!