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

Bagaimana untuk menganalisis dan menggambarkan data wabak dalam PHP?

王林
Lepaskan: 2023-05-21 09:48:01
asal
1398 orang telah melayarinya

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');
Salin selepas log masuk

2. Gunakan ungkapan biasa untuk memadankan data yang diperlukan.

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

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);
Salin selepas log masuk

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>
Salin selepas log masuk

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);
Salin selepas log masuk

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>
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan