> 백엔드 개발 > PHP 튜토리얼 > PHP에서 전염병 데이터를 분석하고 시각화하는 방법은 무엇입니까?

PHP에서 전염병 데이터를 분석하고 시각화하는 방법은 무엇입니까?

王林
풀어 주다: 2023-05-21 09:48:01
원래의
1399명이 탐색했습니다.

전염병 데이터 분석 및 시각화는 전염병 기간 동안 항상 광범위한 관심을 받아온 주제였습니다. PHP로 전염병 데이터를 분석하고 시각화하면 최신 전염병 데이터를 얻을 수 있을 뿐만 아니라 데이터 시각화 도구를 통해 데이터를 분석하고 표시하여 전염병의 발전 추세를 보다 직관적으로 이해할 수 있습니다.

이 기사에서는 PHP로 최신 전염병 데이터를 얻는 방법과 일반적인 데이터 시각화 도구를 사용하여 데이터를 분석하고 표시하는 방법을 간략하게 소개합니다.

1. 전염병 데이터 얻기

웹 크롤러를 통해 최신 전염병 데이터를 얻을 수 있습니다. 데이터를 크롤링할 때 몇 가지 일반적인 크롤링 방지 방법에 주의해야 합니다. 크롤러 요청 헤더 설정 및 로그인 시뮬레이션과 같은 몇 가지 간단한 기술을 사용하여 크롤링 방지를 방지할 수 있습니다.

전염병 데이터를 얻는 방법은 다양합니다. PHP를 사용하여 최신 전염병 데이터를 얻는 방법을 소개하기 위해 Dingxiangyuan 공식 웹사이트(https://ncov.dxy.cn)를 크롤링하는 것을 예로 들어보겠습니다.

구체적인 단계는 다음과 같습니다.

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. HTML 페이지에 Echarts 라이브러리를 도입합니다.

<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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿