绘制图表不是前端的专利,Go 也可以
看到一句话:如果一门语言可以用来写爬虫,那么它就需要一个优雅的数据可视化库。Python 很适合写爬虫,所以有一个库 pyecharts。今天推荐的不是 pyecharts 这个库,而是一个借鉴了该库的另一个库,这个库是 Go 语言实现的,因为 Go 也有不少爬虫库,自然也需要可视化库~
项目名称:go-echarts,地址:https://github.com/go-echarts/go-echarts,Star 数 2.6k+。
安装
go get -u -v github.com/go-echarts/go-echarts/v2
请确保使用 go module 模式,v1 版本不维护了,请使用 v2 版本。
特性
简洁的 API 设计,使用如丝滑般流畅 囊括了 25+ 种常见图表,应有尽有 高度灵活的配置项,可轻松搭配出精美的图表 详细的文档和示例,帮助开发者更快的上手项目 多达 400+ 地图,为地理数据可视化提供强有力的支持
使用
仅需要几行核心代码就可画出美观的图表:
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)
}
编译运行,在当前目录生成一个 HTML 文件,用浏览器打开,是下面这张图表:
更多例子参考这里:https://github.com/go-echarts/examples。
当然,大部分时候后,百度 Echarts 图表库可能都是更好的选择。这里推荐的库,满足你不时之需。
文末「阅读原文」可直达项目首页。
今天的项目大家觉得怎么样吗?如果你喜欢,请在文章底部留言、点赞或关注转发,你的支持就是我持续更新的最大动力!
推荐阅读
转角遇到GitHub - 送给爱开源的你
Git · GitHub · GitLab · Gitee
评论