>  기사  >  백엔드 개발  >  ECharts와 golang을 사용하여 다양한 통계 차트를 쉽게 그리는 방법

ECharts와 golang을 사용하여 다양한 통계 차트를 쉽게 그리는 방법

王林
王林원래의
2023-12-18 15:40:191291검색

ECharts와 golang을 사용하여 다양한 통계 차트를 쉽게 그리는 방법

데이터 분석에 대한 수요가 증가하면서 다양한 통계 차트를 그리는 것이 매우 일반적인 요구 사항이 되었습니다. ECharts와 golang은 다양한 차트를 쉽게 그리는 데 도움이 되는 두 가지 매우 좋은 도구입니다. 아래에서는 몇 가지 구체적인 코드 예제를 제공하면서 이 목적을 달성하기 위해 ECharts와 golang을 사용하는 방법을 소개하겠습니다.

  1. ECharts 설치 및 사용

ECharts를 사용하기 전에 먼저 ECharts를 설치해야 합니다. 공식 홈페이지(https://echarts.apache.org)에서 최신 안정 버전을 다운로드한 후 안내에 따라 설치하시면 됩니다. 설치가 완료되면 ECharts를 사용하여 다양한 유형의 차트를 그릴 수 있습니다.

ECharts를 사용할 때 모든 데이터가 포함된 배열을 준비한 다음 ECharts에 전달하여 해당 차트를 자동으로 생성해야 합니다. 다음은 히스토그램을 그리는 간단한 예제 코드입니다.

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>柱状图示例</title>
    <script src="echarts.min.js"></script>
</head>
<body>
    <div id="main" style="width:600px;height:400px;"></div>
    <script>
        var data = [5, 20, 36, 10, 10, 20];
        var myChart = echarts.init(document.getElementById('main'));
        var option = {
            title: {
                text: '柱状图示例'
            },
            tooltip: {},
            xAxis: {
                data: ['A', 'B', 'C', 'D', 'E', 'F']
            },
            yAxis: {},
            series: [{
                name: '销量',
                type: 'bar',
                data: data
            }]
        };
        myChart.setOption(option);
    </script>
</body>
</html>

보시다시피 이 예제 코드에는 데이터가 삽입된 JavaScript 배열이 있는 HTML 페이지가 포함되어 있습니다. ECharts는 자동으로 데이터를 히스토그램으로 변환하고 ID가 'main'인 요소로 렌더링합니다.

또한 ECharts는 꺾은선형 차트, 원형 차트, 분산형 차트 등 다양한 유형의 차트도 제공합니다. 실제 필요에 따라 다양한 차트 유형을 선택할 수 있습니다.

  1. golang을 사용하여 데이터 준비

golang은 매우 널리 사용되는 프로그래밍 언어로 다양한 데이터 구조와 다양한 작업을 지원하며 데이터 처리에 매우 적합합니다. ECharts를 사용하기 전에 일반적으로 그릴 모든 차트 데이터를 준비하고 이를 ECharts에서 인식할 수 있는 형식으로 변환해야 합니다. golang은 이 작업을 완료하는 데 도움이 될 수 있습니다.

다음은 100개의 난수를 포함하는 배열을 생성하고 이를 json 형식의 데이터로 출력할 수 있는 간단한 golang 프로그램입니다.

package main

import (
    "encoding/json"
    "fmt"
    "math/rand"
)

type Data struct {
    Id    int    `json:"id"`
    Value int    `json:"value"`
}

func main() {
    data := make([]Data, 0)
    for i := 0; i < 100; i++ {
        data = append(data, Data{Id: i, Value: rand.Intn(100)})
    }
    jsonData, err := json.Marshal(data)
    if err != nil {
        fmt.Println("json encode error")
        return
    }
    fmt.Println(string(jsonData))
}

이 프로그램에서는 rand 패키지를 사용하여 100개의 난수를 포함하는 배열을 생성한 다음 이를 json 형식 데이터로 변환합니다. 이 json 데이터는 ECharts에서 직접 인식하여 다양한 유형의 차트를 그리는 데 사용할 수 있습니다.

  1. ECharts와 golang 통합

ECharts와 golang을 사용하면 두 가지를 통합하고 다양한 유형의 차트를 그릴 수 있습니다. 다음은 임의의 데이터가 포함된 json 배열을 생성하고 이를 HTML 페이지에 전달하는 간단한 golang 프로그램입니다. HTML 페이지에서는 ECharts를 사용하여 이 데이터를 히스토그램으로 그릴 수 있습니다.

golang 코드:

package main

import (
    "encoding/json"
    "fmt"
    "math/rand"
    "net/http"
)

type Data struct {
    Id    int    `json:"id"`
    Value int    `json:"value"`
}

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        data := make([]Data, 0)
        for i := 0; i < 10; i++ {
            data = append(data, Data{Id: i, Value: rand.Intn(100)})
        }
        jsonData, err := json.Marshal(data)
        if err != nil {
            fmt.Println("json encode error")
            return
        }
        w.Header().Set("Content-Type", "text/html; charset=utf-8")
        fmt.Fprintf(w, `
            <!DOCTYPE html>
            <html>
            <head>
                <meta charset="utf-8">
                <title>柱状图示例</title>
                <script src="https://cdn.jsdelivr.net/npm/echarts@5.1.0/dist/echarts.min.js"></script>
            </head>
            <body>
                <div id="main" style="width:600px;height:400px;"></div>
                <script>
                    var data = %s;
                    var xAxisData = [];
                    var seriesData = [];
                    for (var i = 0; i < data.length; i++) {
                        xAxisData.push(data[i].id);
                        seriesData.push(data[i].value);
                    }
                    var myChart = echarts.init(document.getElementById('main'));
                    var option = {
                        title: {
                            text: '柱状图示例'
                        },
                        tooltip: {},
                        xAxis: {
                            data: xAxisData
                        },
                        yAxis: {},
                        series: [{
                            name: '销量',
                            type: 'bar',
                            data: seriesData
                        }]
                    };
                    myChart.setOption(option);
                </script>
            </body>
            </html>
        `, jsonData)
    })
    http.ListenAndServe(":8080", nil)
}

이 코드에서는 net/http 패키지를 사용하여 간단한 웹 서버를 만들고 루트 디렉터리에 액세스할 때 임의의 데이터가 포함된 json 배열을 출력합니다. 이 json 배열은 HTML 페이지에서 직접 사용할 수 있습니다.

HTML 페이지:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>柱状图示例</title>
    <script src="https://cdn.jsdelivr.net/npm/echarts@5.1.0/dist/echarts.min.js"></script>
</head>
<body>
    <div id="main" style="width:600px;height:400px;"></div>
    <script>
        var data = [{"id":0,"value":36},{"id":1,"value":52},{"id":2,"value":64},{"id":3,"value":89},{"id":4,"value":48},{"id":5,"value":52},{"id":6,"value":10},{"id":7,"value":75},{"id":8,"value":86},{"id":9,"value":58}];
        var xAxisData = [];
        var seriesData = [];
        for (var i = 0; i < data.length; i++) {
            xAxisData.push(data[i].id);
            seriesData.push(data[i].value);
        }
        var myChart = echarts.init(document.getElementById('main'));
        var option = {
            title: {
                text: '柱状图示例'
            },
            tooltip: {},
            xAxis: {
                data: xAxisData
            },
            yAxis: {},
            series: [{
                name: '销量',
                type: 'bar',
                data: seriesData
            }]
        };
        myChart.setOption(option);
    </script>
</body>
</html>

이 HTML 페이지에서는 JSON.parse() 메서드를 사용하여 golang에서 생성된 json 데이터를 자바스크립트 배열로 구문 분석한 다음 ECharts에 전달합니다. 마지막으로, 우리는 좋은 히스토그램을 얻습니다.

위 내용은 ECharts와 golang을 사용하여 다양한 통계 차트를 쉽게 그리는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.