【导语】Echarts的Go版本,是Go为数不多的可视化数据第三方库之一,具有良好的交互性,设计精巧、丰富多彩的图表。
简介
Go是一门为高并发、高性能的开发而设计的语言,在处理海量并发或数据的过程中,无疑会需要进行数据的分析和展示,go-echarts正是一个优秀的数据可视化第三方库。
Echarts是开源的优秀可视化图表库,其具有良好的交互性和精巧的设计图表,由于其突出的优势,有很多其他语言也实现了相应版本的接口,比如pyecharts,而go-echarts正是Go版本的echarts,目前Go语言中的数据可视化库还比较少,go-echarts是其中的佼佼者。
下载安装
项目的源码地址是:https://github.com/go-echarts/go-echarts。值得一提的是,因为gomod的版本管理方式,使用go get方式不能直接使用v2版本的go-echarts,但是可以通过如下命令进行安装:
$ go get -u github.com/go-echarts/go-echarts/...
$ cd $go-echarts-project
$ mkdir v2 && mv charts components datasets opts render templates types v2
了解Linux命令的同学应该能看懂上面的命令,解释一下最后一行,其实很简单,就是创建v2文件夹,并且将charts components datasets opts render templates types文件夹移动到v2文件夹中。在Windows中没有mkdir和mv命令,手动创建文件夹移动目录就行了。
go-echarts目前有两个版本,v1和v2,两个版本不兼容,v1不再维护了,推荐使用v2版本。go-echarts具有以下几个特点:
1、简洁、丰富的api方法,api接口文档地址为:https://pkg.go.dev/github.com/go-echarts/go-echarts/v2
2、包括了超过25种类型的图表
3、非常灵活的图表配置选项
4、丰富的文档和例子可供参考
5、超过400种的地图,用来可视化地理数据
简单使用
下面是官方提供的一段创建条形图的例子代码(亲测可用),更丰富的例子代码,参考https://github.com/go-echarts/examples:
package main
import (
"math/rand"
"os"
"github.com/go-echarts/go-echarts/v2/charts"
"github.com/go-echarts/go-echarts/v2/opts"
)
// generate random data for bar chart
func generateBarItems() []opts.BarData {
items := make([]opts.BarData, 0)
for i := 0; i < 7; i++ {
items = append(items, opts.BarData{Value: rand.Intn(300)})
}
return items
}
func main() {
// create a new bar instance
bar := charts.NewBar()
// set some global options like Title/Legend/ToolTip or anything else
bar.SetGlobalOptions(
charts.WithTitleOpts(opts.Title{
Title: "Bar-basic-example",
Subtitle: "This is the subtitle.",
}),
)
// iowriter
f, err := os.Create("bar.html")
if err != nil {
panic(err)
}
// Put some data in instance
bar.SetXAxis([]string{"Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"}).
AddSeries("Category A", generateBarItems()).
AddSeries("Category B", generateBarItems())
// Where the magic happens
bar.Render(f)
}
这段代码产生的条形图是这样的:
- EOF -
以上就是这个开源项目的介绍。如果觉得这个项目不错,欢迎转发推荐给更多人。
分享、点赞和在看
支持我们分享更多优秀开源项目,谢谢!
有疑问加站长微信联系(非本文作者)