绘制图表不是前端的专利,Go 也可以

共 795字,需浏览 2分钟

 ·

2020-11-27 03:28

看到一句话:如果一门语言可以用来写爬虫,那么它就需要一个优雅的数据可视化库。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


浏览 44
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报