Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan PHP untuk visualisasi data

Cara menggunakan PHP untuk visualisasi data

王林
王林asal
2023-06-11 09:37:362081semak imbas

Penggambaran data ialah isu yang banyak syarikat dan individu beri perhatian semasa memproses data Ia boleh mengubah maklumat data yang kompleks kepada carta dan imej yang intuitif dan mudah difahami, sekali gus membantu pengguna memahami undang-undang yang sedia ada dan. trend data. Sebagai bahasa skrip yang cekap, PHP juga mempunyai kelebihan tertentu dalam visualisasi data Artikel ini akan memperkenalkan cara menggunakan PHP untuk visualisasi data.

1. Fahami pemalam carta PHP

Dalam bidang visualisasi data dalam PHP, sejumlah besar pemalam carta boleh menyediakan fungsi seperti lukisan carta, pengindahan carta dan carta pembentangan data. Antaranya, pemalam carta PHP yang sangat baik termasuk: Highcharts, ECharts, Jpgraph, dsb.

Highcharts ialah perpustakaan carta berasaskan JavaScript yang dibangunkan dan diselenggara oleh Highsoft Ia menyokong pelbagai jenis carta, seperti carta garis asas, carta lajur, carta graf, carta pai, dll. Kelebihannya ialah ia serasi dengan berbilang pelayar, mempunyai kesan paparan carta yang cantik dan menyokong persekitaran berbilang bahasa.

ECharts ialah satu set alat visualisasi data sumber terbuka yang dibangunkan oleh Baidu Ia mempunyai kelebihan merentas platform, interaksi dinamik dan kesan visualisasi data yang baik. Ia juga menyokong pelbagai jenis carta, seperti carta garis, carta bar, carta garis, carta pai, carta gelembung, dll.

JPGraph ialah perpustakaan carta PHP yang digunakan khusus untuk menjana carta imej statik Ia serasi dengan berbilang versi PHP dan menyokong berbilang jenis data dan pelbagai ciri lanjutan, seperti penskalaan carta, penyesuaian legenda, label data, dsb. .

2. Lukisan carta melalui kod PHP

Selepas memilih pemalam carta PHP yang sesuai, kami boleh menghubungi perpustakaan yang berkaitan melalui kod PHP untuk melukis carta. Berikut ialah contoh melukis carta lajur melalui Highcharts:

1 Perkenalkan perpustakaan js bagi Highcharts

<script src="https://cdn.jsdelivr.net/npm/highcharts@9.1.0/highcharts.js"></script>

2 Cipta bekas HTML

<div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>

3 Kod PHP

<?php
// 1. 数据连接和查询
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbname = 'test';
$conn = mysqli_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');
mysqli_select_db($conn, $dbname);
$sql = 'SELECT * FROM employee';
$result = mysqli_query($conn, $sql);
$data = array();
foreach ($result as $row) {
    $data[] = array($row['name'], (int)$row['salary']);
}
mysqli_close($conn);

// 2. 绘制图表
echo '
<script>
Highcharts.chart("container", {
    chart: {
        type: "column"
    },
    title: {
        text: "员工薪资情况"
    },
    xAxis: {
        type: "category"
    },
    yAxis: {
        title: {
            text: "薪资 (元)"
        }
    },
    series: [{
        name: "薪资",
        data: '.json_encode($data).'
    }]
});
</script>
';
?>

Dengan kod PHP di atas, kami boleh melukis carta lajur ringkas Data carta berasal dari jadual pekerja dalam pangkalan data MySQL.

3 Bekerjasama dengan JavaScript untuk mencapai interaksi dinamik

Selain melukis carta statik, kami biasanya juga perlu melaksanakan interaksi dinamik dengan carta, seperti mengklik pada legenda untuk memaparkan atau menyembunyikan tertentu data, atau memaparkannya apabila tetikus melayang Butiran data, dsb. Ini memerlukan penggunaan kod JavaScript dan PHP Berikut menggunakan Highcharts sebagai contoh untuk menerangkan.

  1. Mula-mula perkenalkan Highcharts dan kod JavaScript yang berkaitan dalam HTML
<script src="https://cdn.jsdelivr.net/npm/highcharts@9.1.0/highcharts.js"></script>


  1. Kemudian tulis kod PHP dan lukis carta lajur ringkas
<?php
// 数据查询和处理
$categories = array('第一季度', '第二季度', '第三季度', '第四季度');
$seriesData = array(
    array(
        'name' => '销售额',
        'data' => array(100, 120, 150, 250)
    ),
    array(
        'name' => '净利润',
        'data' => array(50, 70, 100, 150)
    )
);

// 动态交互
?>
<script>
Highcharts.chart("container", {
    chart: {
        type: "column"
    },
    title: {
        text: "销售额和净利润"
    },
    xAxis: {
        categories: <?php echo json_encode($categories); ?>
    },
    yAxis: [{
        title: {
            text: "销售额"
        }
    }, {
        title: {
            text: "净利润"
        },
        opposite: true
    }],
    series: <?php echo json_encode($seriesData); ?>
});
</script>
  1. Seterusnya, tulis peristiwa interaksi dinamik melalui JavaScript untuk memaparkan atau menyembunyikan data yang sepadan dengan mengklik pada legenda
<script>
document.getElementById('container').addEventListener('click', function(e) {
    var chart = Highcharts.chart('container');
    if (e.target.tagName == 'tspan') {
        var seriesIndex = parseInt(e.target.parentNode.getAttribute('data-highcharts-series'));
        var series = chart.series[seriesIndex];
        if (series.visible) {
            series.hide();
        } else {
            series.show();
        }
    }
}, false);
</script>

Melalui langkah di atas, kami telah berjaya melaksanakan paparan dinamik klik pada legenda. Atau sembunyikan carta lajur data dan gunakan skrip JavaScript untuk mencapai kesan interaksi dinamik.

Ringkasan

Penggambaran data bertujuan untuk menyediakan pengguna dengan cara yang lebih intuitif dan cekap untuk memahami data Sebagai bahasa pengaturcaraan yang serba boleh dan cekap, PHP boleh menggunakan pemalam carta yang sesuai dan Pelbagai ciri animasi yang disediakan dalam JavaScript boleh mencapai kesan visualisasi data yang kaya dan pelbagai. Walau bagaimanapun, anda juga mesti memberi perhatian kepada keselamatan data semasa penggunaan, dan segera menangani isu seperti serangan skrip merentas tapak pada carta untuk menjadikan visualisasi data lebih selamat dan boleh dipercayai, dan menggalakkan pembangunan analisis data dan membuat keputusan yang cekap dan pintar. .

Atas ialah kandungan terperinci Cara menggunakan PHP untuk visualisasi data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn