현재 위치: > 최신 기사 목록> 막대 차트를 생성하는 데 필요한 주파수 데이터 배열

막대 차트를 생성하는 데 필요한 주파수 데이터 배열

M66 2025-06-07

Array_Count_Values ​​()는 배열을 인수로 가져 와서 키가 배열에 나타나는 유일한 요소이며 값이 원래 배열에 나타나는 횟수 인 경우 새 배열을 반환하는 내장 PHP 함수입니다. 함수의 구문은 다음과 같습니다.

 array_count_values(array $array): array

이 함수의 반환 값은 연관 배열이며, 여기서 각 요소의 키는 원래 배열의 값이고 값은 배열에 값이 나타나는 횟수입니다.

2. 예 : Array_Count_Values ​​()를 사용하여 주파수 데이터를 생성합니다

웹 사이트 액세스 로그가 포함 된 다양한 사용자 ID가 있다고 가정하고 사용자 당 방문 수를 계산하고 히스토그램을 생성하려고합니다. 예는 다음과 같습니다.

 <?php
// 이것이 웹 사이트 로그에서 얻은 사용자 액세스 데이터라고 가정합니다.
$userVisits = ['user1', 'user2', 'user3', 'user1', 'user4', 'user1', 'user2'];

// 사용 array_count_values 기능 사용자 당 방문 횟수를 얻을 수 있습니다
$visitCounts = array_count_values($userVisits);

// 주파수 데이터 배열 인쇄
print_r($visitCounts);
?>

위의 코드에서 array_count_values ​​() 함수는 각 사용자가 $ uservisits 배열에 나타나는 횟수를 계산합니다. 출력은 다음과 같습니다.

 Array
(
    [user1] => 3
    [user2] => 2
    [user3] => 1
    [user4] => 1
)

3. 막대 차트를 생성하는 데 필요한 주파수 데이터

위의 예에 따르면 각 사용자에 대한 액세스 빈도 데이터를 얻었습니다. 다음 으로이 데이터를 막대 차트를 그리는 데 적합한 데이터 형식으로 포맷 할 수 있습니다. 일반적으로 막대 차트의 데이터 형식은 키가 범주 인 배열 (이 경우 사용자)이고 값은 해당 범주의 빈도 (즉, 방문 횟수)입니다.

예를 들어, 다음 코드를 사용하여 주파수 데이터를 막대 차트를 그리는 데 필요한 형식으로 변환 할 수 있습니다.

 <?php
// 우리가 이미 주파수 데이터 배열을 얻었다고 가정 해 봅시다 $visitCounts
$visitCounts = array_count_values($userVisits);

// 막대 차트로 변환하는 데 필요한 데이터 형식
$barChartData = [];
foreach ($visitCounts as $user => $count) {
    $barChartData[] = [
        'label' => $user,
        'value' => $count
    ];
}

// 인쇄 막대 차트 데이터
print_r($barChartData);
?>

출력은 각 사용자에 대한 키 값 쌍과 방문 횟수를 포함하는 배열이므로 막대 차트를 생성하는 데 적합합니다.

 Array
(
    [0] => Array
        (
            [label] => user1
            [value] => 3
        )
    [1] => Array
        (
            [label] => user2
            [value] => 2
        )
    [2] => Array
        (
            [label] => user3
            [value] => 1
        )
    [3] => Array
        (
            [label] => user4
            [value] => 1
        )
)

4. 히스토그램 라이브러리를 사용하여 막대 차트를 그립니다

이제 막대 차트를 그리는 데 적합한 주파수 데이터 배열이 있습니다. 다음으로, 우리는 인기있는 JavaScript 라이브러리를 사용하여 Bar 차트를 생성 할 수 있습니다. 위의 데이터를 프론트 엔드 JavaScript 코드로 전달 하고이 라이브러리를 사용하여 막대 차트를 그릴 수 있습니다.

예를 들어, Chart.js를 사용하여 다음과 같이 구현할 수 있습니다.

 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>막대 차트 예제</title>
    <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
</head>
<body>
    <canvas id="barChart"></canvas>
    <script>
        var ctx = document.getElementById('barChart').getContext('2d');
        var barChart = new Chart(ctx, {
            type: 'bar',
            data: {
                labels: ['user1', 'user2', 'user3', 'user4'],
                datasets: [{
                    label: '방문 수',
                    data: [3, 2, 1, 1],
                    backgroundColor: ['#FF5733', '#33FF57', '#3357FF', '#F0F33F'],
                    borderColor: ['#FF5733', '#33FF57', '#3357FF', '#F0F33F'],
                    borderWidth: 1
                }]
            },
            options: {
                scales: {
                    y: {
                        beginAtZero: true
                    }
                }
            }
        });
    </script>
</body>
</html>

이 HTML 파일은 태그와 데이터가 PHP에 의해 생성 된 주파수 배열에서 나온 막대 차트를 표시합니다.