golang 每日一庫之 go-echarts

go-echarts/go-echarts

是一個用 Go 編寫的現代圖表庫,提供了一整套易用的 API 來生成基於 Apache ECharts 的交互式圖表,適合用於數據可視化儀表盤、報表服務、網頁嵌入等應用場景。

簡介

特點

支持圖表類型

HdS3K0

安裝方法

go get -u github.com/go-echarts/go-echarts/v2

示例

柱狀圖 Bar

package main
import (
    "os"
    "github.com/go-echarts/go-echarts/v2/charts"
    "github.com/go-echarts/go-echarts/v2/opts"
)
func main() {
    bar := charts.NewBar()
    bar.SetGlobalOptions(opts.Title{Title: "Bar 示例"})
    bar.SetXAxis([]string{"蘋果", "香蕉", "橘子"}).
        AddSeries("銷量", []opts.BarData{
            {Value: 10}, {Value: 20}, {Value: 30},
        })
    f, _ := os.Create("bar.html")
    defer f.Close()
    bar.Render(f)
}

折線圖 Line

line := charts.NewLine()
line.SetGlobalOptions(opts.Title{Title: "Line 折線圖"})
line.SetXAxis([]string{"1月", "2月", "3月", "4月"}).
    AddSeries("銷售額", []opts.LineData{
        {Value: 500}, {Value: 800}, {Value: 600}, {Value: 900},
    })
line.Render(f)

餅圖 Pie

gauge := charts.NewGauge()
gauge.SetGlobalOptions(opts.Title{Title: "Gauge 儀表盤"})
gauge.AddSeries("速度", []opts.GaugeData{
    {Name: "運行速度", Value: 82},
})
gauge.Render(f)

儀表盤 Gauge

gauge := charts.NewGauge()
gauge.SetGlobalOptions(opts.Title{Title: "Gauge 儀表盤"})
gauge.AddSeries("速度", []opts.GaugeData{
    {Name: "運行速度", Value: 82},
})
gauge.Render(f)

地圖 Map(中國)

import "github.com/go-echarts/go-echarts/v2/opts"
import "github.com/go-echarts/go-echarts/v2/components"
import "github.com/go-echarts/go-echarts/v2/maps"
m := charts.NewMap("china")
m.SetGlobalOptions(opts.Title{Title: "中國地圖"})
m.AddSeries("省份數據", []opts.MapData{
    {Name: "廣東", Value: 100},
    {Name: "北京", Value: 200},
})
m.Render(f)

多圖聯動

可以用 components.NewPage() 組合多個圖表爲一個頁面:

page := components.NewPage()
page.AddCharts(bar, line, pie)
page.Render(f)

自定義主題

通過 SetChartTheme() 設置 darkshinevintage 等主題:

bar := charts.NewBar()
bar.SetChartTheme(charts.ThemeDark)

最後總結一下特點

W10woG

標題:golang 每日一庫之 go-echarts
作者:mooncakeee
地址:http://blog.dd95828.com/articles/2025/06/17/1750123847049.html
聯繫:scotttu@163.com

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/7vKiab1Kw-MyC7O4ONtQlQ