设计精巧!交互性很好的 Go 语言数据可视化库

mb5fe1900cd6223 · · 1768 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

【导语】Echarts的Go版本,是Go为数不多的可视化数据第三方库之一,具有良好的交互性,设计精巧、丰富多彩的图表。

简介

设计精巧!交互性很好的 Go 语言数据可视化库
Go是一门为高并发、高性能的开发而设计的语言,在处理海量并发或数据的过程中,无疑会需要进行数据的分析和展示,go-echarts正是一个优秀的数据可视化第三方库。

设计精巧!交互性很好的 Go 语言数据可视化库

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)
}

设计精巧!交互性很好的 Go 语言数据可视化库

这段代码产生的条形图是这样的:

设计精巧!交互性很好的 Go 语言数据可视化库

  • EOF -

以上就是这个开源项目的介绍。如果觉得这个项目不错,欢迎转发推荐给更多人。

设计精巧!交互性很好的 Go 语言数据可视化库

分享、点赞和在看
支持我们分享更多优秀开源项目,谢谢!


有疑问加站长微信联系(非本文作者)

本文来自:51CTO博客

感谢作者:mb5fe1900cd6223

查看原文:设计精巧!交互性很好的 Go 语言数据可视化库

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1768 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传