Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menganalisis dan menggambarkan data wabak dalam PHP?

Bagaimana untuk menganalisis dan menggambarkan data wabak dalam PHP?

王林
王林asal
2023-05-21 08:40:451361semak imbas

Analisis dan visualisasi data wabak sentiasa menjadi topik yang mendapat perhatian meluas semasa wabak. Apabila menganalisis dan menggambarkan data wabak dalam PHP, anda bukan sahaja boleh mendapatkan data wabak terkini, tetapi juga menganalisis dan memaparkan data melalui alat visualisasi data untuk memahami arah aliran perkembangan wabak dengan lebih intuitif.

Artikel ini akan memperkenalkan secara ringkas cara mendapatkan data wabak terkini dalam PHP dan cara menggunakan alat visualisasi data biasa untuk menganalisis dan memaparkan data.

1. Mendapatkan data wabak

Mendapatkan data wabak terkini boleh dicapai melalui perangkak web. Apabila merangkak data, anda perlu memberi perhatian kepada beberapa kaedah anti-rangkak biasa Anda boleh menggunakan beberapa teknik mudah, seperti menetapkan pengepala permintaan perangkak dan log masuk simulasi, untuk mengelakkan anti-rangkak.

Terdapat banyak cara untuk mendapatkan data wabak yang berikut memerlukan merangkak tapak web rasmi Dingxiangyuan (https://ncov.dxy.cn) sebagai contoh untuk memperkenalkan cara menggunakan PHP untuk mendapatkan data wabak terkini.

Langkah khusus adalah seperti berikut:

1 Gunakan CURL untuk menghantar permintaan HTTP dan menyimpan hasil respons sebagai rentetan.

function get_html($url){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($ch);
    curl_close($ch);
    return $output;
}

$html = get_html('https://ncov.dxy.cn/ncovh5/view/pneumonia');

2. Gunakan ungkapan biasa untuk memadankan data yang diperlukan.

$pattern = '/<script id="getListByCountryTypeService2">(.*?)</script>/si';
preg_match($pattern, $html, $matches);
$matches_str = $matches[1];

3. Tukar rentetan yang dipadankan kepada tatasusunan PHP.

$matches_str = str_replace('toArray(', '', $matches_str);
$matches_str = str_replace(')', '', $matches_str);
$data_array = json_decode($matches_str, true);

2. Visualisasi Data

Selepas mendapatkan data wabak, anda boleh menggunakan alat visualisasi data biasa untuk menganalisis dan memaparkan data. Echarts digunakan sebagai alat visualisasi data di sini.

Echarts ialah perpustakaan visualisasi data JavaScript yang menyokong pelbagai jenis carta, termasuk carta garis, carta bar, carta pai, dsb. Echarts menyokong integrasi dengan PHP Anda hanya perlu menukar tatasusunan PHP ke dalam format JSON dan menghantarnya ke bahagian hadapan.

Berikut ialah proses pelaksanaan khusus.

1. Perkenalkan pustaka Echarts ke dalam halaman HTML.

<script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>

2. Gunakan tatasusunan PHP untuk menjana data format JSON.

$data = [];
foreach ($data_array as $item) {
    $data[] = [
        'name' => $item['provinceName'],
        'value' => $item['confirmedCount']
    ];
}
$json_data = json_encode($data);

3. Gunakan kod JavaScript untuk menghantar data format JSON ke Echarts dan menjana carta visual jenis peta.

<script type="text/javascript">
    var myChart = echarts.init(document.getElementById('map'));

    var option = {
        visualMap: {
            min: 0,
            max: 80000,
            left: 'left',
            top: 'bottom',
            text: ['高', '低'],
            calculable: true
        },
        toolbox: {
            show: true,
            orient: 'vertical',
            left: 'right',
            top: 'center',
            feature: {
                dataView: {readOnly: false},
                restore: {},
                saveAsImage: {}
            }
        },
        series: [
            {
                name: '确诊人数',
                type: 'map',
                mapType: 'china',
                roam: false,
                label: {
                    normal: {
                        show: true
                    },
                    emphasis: {
                        show: true
                    }
                },
                data:<?php echo $json_data; ?>
            }
        ]
    };

    myChart.setOption(option);
</script>

Kod ini akan menjana carta visual jenis peta China yang menunjukkan bilangan kes yang disahkan di setiap wilayah.

3. Ringkasan

Melalui kaedah di atas, kami boleh mendapatkan data wabak terkini dalam PHP dengan mudah dan menggunakan alat visualisasi data seperti Echarts untuk menganalisis dan memaparkan data. Alat ini boleh membantu kami memahami arah aliran perkembangan wabak dengan lebih intuitif dan menyediakan sokongan data yang kukuh untuk pencegahan dan kawalan wabak.

Atas ialah kandungan terperinci Bagaimana untuk menganalisis dan menggambarkan data wabak dalam PHP?. 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