ホームページ  >  記事  >  バックエンド開発  >  PHP で流行データを分析および視覚化するにはどうすればよいですか?

PHP で流行データを分析および視覚化するにはどうすればよいですか?

王林
王林オリジナル
2023-05-21 08:40:451377ブラウズ

疫病データの分析と視覚化は、疫病流行中に常に広く注目されるトピックでした。 PHP で疫病データを分析および視覚化すると、最新の疫病データを取得できるだけでなく、データ視覚化ツールを通じてデータを分析および表示して、疫病の発展傾向をより直観的に理解することができます。

この記事では、PHP で最新の流行データを取得する方法と、一般的なデータ視覚化ツールを使用してデータを分析および表示する方法を簡単に紹介します。

1. 流行データの取得

最新の流行データは、Web クローラーを通じて取得できます。データをクロールするときは、いくつかの一般的なクロール対策方法に注意する必要があります。クローラー リクエスト ヘッダーの設定やログインのシミュレートなど、いくつかの簡単な手法を使用してクロール対策を回避できます。

疫病データを取得するにはさまざまな方法がありますが、ここでは定香源公式 Web サイト (https://ncov.dxy.cn) をクロールすることを例に、PHP を使用して最新の疫病データを取得する方法を紹介します。

具体的な手順は次のとおりです:

1. CURL を使用して HTTP リクエストを送信し、応答結果を文字列として保存します。

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. 正規表現を使用して、必要なデータと一致させます。

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

3. 一致した文字列を PHP 配列に変換します。

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

2. データ視覚化

疫病データを取得した後、一般的なデータ視覚化ツールを使用してデータを分析および表示できます。ここではデータ視覚化ツールとして Echarts が使用されています。

Echarts は、折れ線グラフ、棒グラフ、円グラフなどの複数のグラフ タイプをサポートする JavaScript データ視覚化ライブラリです。 Echarts は PHP との統合をサポートしているため、PHP 配列を JSON 形式に変換してフロントエンドに渡すだけで済みます。

具体的な実装プロセスは次のとおりです。

1. Echarts ライブラリを HTML ページに導入します。

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

2. PHP 配列を使用して JSON 形式のデータを生成します。

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

3. JavaScript コードを使用して JSON 形式のデータを Echarts に渡し、マップ タイプのビジュアル チャートを生成します。

<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>

このコードは、各省の確認症例数を示す中国地図タイプの視覚的なグラフを生成します。

3. まとめ

上記の方法により、最新の疫病データをPHPで簡単に取得し、Echartsなどのデータ可視化ツールを利用して分析・表示することができます。これらのツールは、流行の進展傾向をより直観的に理解するのに役立ち、流行の予防と制御のための強力なデータサポートを提供します。

以上がPHP で流行データを分析および視覚化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。