基于 go-chart 生成数据图表 go-charts

MIT
Google Go
跨平台
2021-12-27
粘土帽子

go-charts基于 go-chart 生成数据图表,无其它模块的依赖纯golang的实现,支持svgpng的输出,Apache ECharts在前端开发中得到众多开发者的认可,go-charts兼容Apache ECharts的配置参数,简单快捷的生成相似的图表(svgpng),方便插入至Email或分享使用。下面为常用的几种图表截图(黑夜模式):

支持图表类型

暂仅支持三种的图表类型:linebar 以及 pie

示例

go-charts兼容了echarts的参数配置,可简单的使用json形式的配置字符串则可快速生成图表。

package main

import (
	"os"

	charts "github.com/vicanso/go-charts"
)

func main() {
	buf, err := charts.RenderEChartsToPNG(`{
		"title": {
			"text": "Line"
		},
		"xAxis": {
			"type": "category",
			"data": ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
		},
		"series": [
			{
				"data": [150, 230, 224, 218, 135, 147, 260]
			}
		]
	}`)
	if err != nil {
		panic(err)
	}
	os.WriteFile("output.png", buf, 0600)
}

性能

简单的图表生成PNG在20ms左右,而SVG的性能则更快,性能上比起使用chrome headless加载echarts图表展示页面,截图生成的方式大幅度提升,基本能满足简单的图表生成需求。

goos: darwin
goarch: amd64
pkg: github.com/vicanso/go-charts
cpu: Intel(R) Core(TM) i5-8257U CPU @ 1.40GHz
BenchmarkEChartsRenderPNG-8           60          17765045 ns/op         2492854 B/op       1007 allocs/op
BenchmarkEChartsRenderSVG-8          282           4303042 ns/op        32622688 B/op       2983 allocs/op

体验地址

可直接在此演示地址中尝试:https://charts.npmtrend.com/ ,复制echarts的配置点击运行即可

加载中

go-charts v2.0 版本正式发布

go-charts 允许快速生成SVG或PNG格式的图表,生成速度在20ms以下,适用于各类以图片的形式插入至邮件等内容的展示。 v2.0版本简化图表函数调用,并兼容大部分`echarts`的参数形式,可以简单的...

06/25 09:13

go-charts v1.1.0 版本发布,增加支持雷达图与漏斗图

go-charts v1.1.0版本正式发布,增加支持雷达图与漏斗图,以及新增ant-design主题色,现已支持五种基本图表以及四种基本配色方案,快速高效的生成SVG或PNG图表。 新增的两种图表效果如下: ...

03/06 19:14

go-charts 1.0 版本发布:支持更多的图表样例及主题

go-charts go-charts基于go-chart,提供更简单方便的形式生成数据图表,支持svg与png两种方式的输出,支持三种主题light, dark以及grafana。 Apache ECharts在前端开发中得到众多开发者的认可...

02/20 17:58

go-charts 0.0. 3版本发布,兼容更多的 echarts 配置

go-charts基于go-chart生成数据图表,无其它模块的依赖纯golang的实现,支持svg与png的输出,Apache ECharts在前端开发中得到众多开发者的认可,go-charts兼容Apache ECharts的配置参数,简单...

01/02 10:36

没有更多内容

加载失败,请刷新页面

没有更多内容

暂无问答

暂无博客

返回顶部
顶部