[go] Go 언어로 데이터 시각화를 할 때 주로 사용되는 그래프 종류는 무엇인가?
- 선 그래프 (Line Chart): 시간에 따른 데이터의 변화를 보여줄 때 주로 사용됩니다. 시계열 데이터의 추세를 확인하거나 여러 변수의 비교를 할 때 유용합니다.
import (
"fmt"
"github.com/wcharczuk/go-chart"
)
func main() {
// 데이터 설정
xValues := []float64{1, 2, 3, 4, 5}
yValues := []float64{10, 15, 7, 12, 9}
// 선 그래프 생성
graph := chart.Chart{
Series: []chart.Series{
chart.ContinuousSeries{
XValues: xValues,
YValues: yValues,
},
},
}
// 그래프를 이미지로 저장
f, _ := os.Create("line_chart.png")
defer f.Close()
graph.Render(chart.PNG, f)
fmt.Println("Line chart generated!")
}
- 막대 그래프 (Bar Chart): 카테고리나 범주별로 데이터를 비교할 때 주로 사용됩니다. 각 카테고리의 크기 또는 비율을 시각적으로 비교할 수 있습니다.
import (
"fmt"
"github.com/wcharczuk/go-chart"
)
func main() {
// 데이터 설정
categories := []string{"A", "B", "C", "D"}
values := []float64{25, 15, 10, 30}
// 막대 그래프 생성
graph := chart.Chart{
Series: []chart.Series{
chart.BarChart{Categories: categories, Values: values},
},
}
// 그래프를 이미지로 저장
f, _ := os.Create("bar_chart.png")
defer f.Close()
graph.Render(chart.PNG, f)
fmt.Println("Bar chart generated!")
}
- 원 그래프 (Pie Chart): 전체 데이터에서 각 부분의 비율을 보여줄 때 주로 사용됩니다. 각 항목의 중요도를 한눈에 파악할 수 있습니다.
import (
"fmt"
"github.com/wcharczuk/go-chart"
)
func main() {
// 데이터 설정
labels := []string{"A", "B", "C", "D"}
values := []float64{25, 15, 10, 30}
// 원 그래프 생성
graph := chart.Chart{
Series: []chart.Series{
chart.PieChart{Values: values, Labels: labels},
},
}
// 그래프를 이미지로 저장
f, _ := os.Create("pie_chart.png")
defer f.Close()
graph.Render(chart.PNG, f)
fmt.Println("Pie chart generated!")
}
- 산점도 (Scatter Plot): 두 변수간의 상관 관계를 시각화할 때 주로 사용됩니다. 각 점이 얼마나 분산되어 있는지나 어떤 패턴을 가진지 확인할 수 있습니다.
import (
"fmt"
"github.com/wcharczuk/go-chart"
)
func main() {
// 데이터 설정
xValues := []float64{1, 2, 3, 4, 5}
yValues := []float64{10, 15, 7, 12, 9}
// 산점도 생성
graph := chart.Chart{
Series: []chart.Series{
chart.ScatterChart{XValues: xValues, YValues: yValues},
},
}
// 그래프를 이미지로 저장
f, _ := os.Create("scatter_plot.png")
defer f.Close()
graph.Render(chart.PNG, f)
fmt.Println("Scatter plot generated!")
}
- 히스토그램 (Histogram): 데이터의 분포를 확인할 때 주로 사용됩니다. 데이터가 어떤 범위에 집중되어 있는지나 이상치가 있는지를 쉽게 파악할 수 있습니다.
import (
"fmt"
"github.com/wcharczuk/go-chart"
)
func main() {
// 데이터 설정
values := []float64{1, 1, 2, 2, 2, 3, 3, 4, 4, 5}
// 히스토그램 생성
graph := chart.Chart{
Series: []chart.Series{
chart.HistogramChart{Values: values, Buckets: 5},
},
}
// 그래프를 이미지로 저장
f, _ := os.Create("histogram.png")
defer f.Close()
graph.Render(chart.PNG, f)
fmt.Println("Histogram generated!")
}
이러한 그래프들을 사용하여 Go 언어로 다양한 종류의 데이터를 시각화할 수 있습니다. Go 언어에서 그래프를 생성하려면 플로팅 라이브러리를 사용하는 것이 편리합니다. 위의 예시 코드에서는 go-chart
라이브러리를 사용했습니다. 해당 라이브러리의 공식 문서를 참고하시면 더 자세한 내용을 확인할 수 있습니다.
참고 자료