Go 언어로 폴리라인 또는 막대 그리기
Go로 차트를 그리고 싶어요.
시각화된 데이터의 도구와 포장이 많고,
Go 언어로 도표만 그리면 되기 때문에 당시 조사한 내용을 정리했습니다.
Overview
작업 환경
사전 준비
다음 명령으로 go 패키지를 설치하십시오.
이것은 고에서 도표를 묘사하기 위해 사용하는 포장이다.
패키지 상세 정보는 여기 로 이동하십시오.
go get gonum.org/v1/plot/...
접선도
접선도를 그리는 데 필요한 코드를 설명합니다.
이것은 가져올 포장 일람표입니다.
import (
"gonum.org/v1/plot"
"gonum.org/v1/plot/plotter"
"gonum.org/v1/plot/plotutil"
"gonum.org/v1/plot/vg"
)
우선plot 실례를 생성하십시오.이어서 도표의 표시 항목을 설정합니다.
// インスタンスを生成
p, err := plot.New()
if err != nil {
panic(err)
}
// 表示項目の設定
p.Title.Text = "only english title"
p.X.Label.Text = "X axis"
p.Y.Label.Text = "Y axis"
스트라이프 그림의 표시는plotter입니다.XYs형을 이용합니다.XY형은 글자처럼 X, Y축의 값을 나타내고 수학에서 자주 사용하는 x, y 좌표 표현과 대응한다.
type XYs []XY
type XY struct {
X, Y float64
}
이번 일을 위해 샘플 데이터를 만들었습니다.xyAxis 구조체를 정의하여 슬라이스를 만듭니다.
type xyAxis struct {
x float64
y float64
}
nums := []xyAxis {
[1, 11],
[2, 33],
[3, 22],
[4, 55],
[5, 44],
[6, 77],
[7, 66],
[8, 99],
[9, 88],
}
샘플 데이터plotter.XYs 모델에 적용됩니다.pts := make(plotter.XYs, len(nums))
for i, axis := range nums {
pts[i].X = axis.x
pts[i].Y = axis.y
}
이렇게 하면 데이터의 준비가 완성된다.다음 함수를 이용하여 도표를 생성하여 그 결과를 저장합니다.
// グラフを描画
err = plotutil.AddLinePoints(p, pts)
if err != nil {
panic(err)
}
// 描画結果を保存
// "5*vg.Inch" の数値を変更すれば,保存する画像のサイズを調整できます.
if err := p.Save(5*vg.Inch, 5*vg.Inch, "sample1.png"); err != nil{
panic(err)
}
실행 파일과 같은 디렉터리에 "sample1.png"을 생성합니다.sample1.png
스트라이프 맵
스트라이프 그림을 그리는 데 필요한 코드를 설명합니다.
이것은 가져올 포장 일람표입니다.
import (
"gonum.org/v1/plot"
"gonum.org/v1/plot/plotter"
"gonum.org/v1/plot/plotutil"
"gonum.org/v1/plot/vg"
)
우선plot 실례를 생성하십시오.이어서 도표의 표시 항목을 설정합니다.
// インスタンスを生成
p, err := plot.New()
if err != nil {
panic(err)
}
// 表示項目の設定
p.Title.Text = "only english title"
p.Y.Label.Text = "Y axis"
스트라이프 그림의 묘사는plotter이다.Values 모델을 사용합니다.type Values []float64
이번에 준비한 샘플 데이터는 여기 있습니다.nums := plotter.Values{11,33,22,55,44,77,66,99,88}
막대에 그려진 막대의 너비를 설정합니다.이번에는 15픽셀입니다.
breadth := vg.Points(15)
스트라이프를 생성합니다.그림을 그린 후 상세한 내용을 설정하고 판면 디자인을 정리합니다.
bar, err := plotter.NewBarChart(num, breadth)
if err != nil {
panic(err)
}
// 棒グラフ自体の枠線
bar.LineStyle.Width = vg.Length(0)
// 色を決める 0は赤になります.
bar.Color = plotutil.Color(0)
생성된 스트라이프를 그립니다.동시에 도표의 설명을 추가한다.
p.Add(bar)
// 棒グラフの名前を"bar1"とします.
p.Legend.Add("bar1", bar)
// legendの位置を上側にします(デフォルトは下側)
p.Legend.Top = true
// X軸側の説明項目を追加します.
p.NominalX("one", "two", "three", "four", "five", "six", "seven", "eight", "nine")
마지막으로 그린 이미지를 저장합니다.if err := p.Save(5*vg.Inch, 5*vg.Inch, "sample2.png"); err != nil {
panic(err)
}
sample2.png참고문
package plot
Example plots
Reference
이 문제에 관하여(Go 언어로 폴리라인 또는 막대 그리기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/RuyPKG/items/0a569953e9e24870f527텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)