[go] Go 언어로 데이터 시각화를 할 때 범례를 추가하는 방법은 무엇인가?

Go 언어로 데이터 시각화를 하기 위해서는 gonum.org/v1/plot 패키지를 사용할 수 있습니다. plot 패키지는 여러 가지 그래프 및 플롯 기능을 제공합니다.

범례를 그래프에 추가하기 위해서는 다음과 같은 단계를 따를 수 있습니다:

  1. plot.New() 함수를 사용하여 새로운 플롯을 생성합니다.
  2. 각각의 데이터 시리즈에 대한 값을 가진 plotter 객체를 생성합니다.
  3. plotter 객체를 플롯에 추가합니다.
  4. plot.Legend 함수를 사용하여 범례를 생성합니다.
  5. plot.Save 함수를 사용하여 그래프를 저장하거나 화면에 표시합니다.

아래는 예시 코드입니다:

package main

import (
    "gonum.org/v1/plot"
    "gonum.org/v1/plot/plotter"
    "gonum.org/v1/plot/plotutil"
    "gonum.org/v1/plot/vg"
)

func main() {
    // 새로운 플롯 생성
    p, _ := plot.New()

    // 데이터 시리즈 생성
    data1 := plotter.Values{1, 2, 3, 4, 5}
    data2 := plotter.Values{5, 4, 3, 2, 1}

    // 데이터 시리즈를 플롯에 추가
    p, _ = plotutil.AddLinePoints(p, "Line1", generateDataPoints(data1), "Line2", generateDataPoints(data2))

    // 범례 생성
    p.Legend.Add("Line1", generateDataPoints(data1))
    p.Legend.Add("Line2", generateDataPoints(data2))

    // 그래프 파일로 저장
    p.Save(4*vg.Inch, 4*vg.Inch, "graph.png")
}

func generateDataPoints(data plotter.Values) plotter.XYs {
    pts := make(plotter.XYs, len(data))
    for i, val := range data {
        pts[i].X = float64(i)
        pts[i].Y = val
    }
    return pts
}

이 예시 코드는 plot 패키지를 사용해서 두 개의 데이터 시리즈를 선 그래프로 그린 뒤, 범례를 추가하고 그래프를 파일로 저장하는 예시입니다. 코드를 실행하면 graph.png 파일에 그래프가 저장됩니다.

더 자세한 정보는 GoDoc 페이지를 참고하시기 바랍니다.