网址:ajstarks-chart(https://github.com/ajstarks/chart)。ajstarks-chart图形工具提供了生成基本chart类型图片的功能。chart类型包括:饼图(实心、环状)、柱状图、stacked柱状图、线图、点图、多图形叠加等等。图片格式主要是svg和png文件。初步使用的感觉是可自定义选项比较少,有些粗糙,勉强能用。
源代码的演示例子\go\src\pkg\github.com\vdobler\chart\example\samplecharts.go。注意:在运行它之前,你需要去go get 它所依赖的各种第三方包。
运行命令:
go run samplecharts.go -all
该命令在当前目录下生成所有的例子图片。
经过测试,发现svg对中文的支持比较好,不用什么特殊的设置就OK。而png则有些麻烦,需要设置中文字体,否则无法正常显示中文。
png支持中文的方法:
首先,系统要有支持中文的字体。例如,simhei.ttf。
然后,告诉go程序中文字体在哪来并加载。
最后,在画图之前,把font信息作为参数传入。代码示例:
fontBytes, err := ioutil.ReadFile("c:/WINDOWS/Fonts/simhei.ttf")
if err != nil {
log.Println(err)
return
}
font, err := freetype.ParseFont(fontBytes)
if err != nil {
log.Println(err)
return
}
igr := imgg.AddTo(d.I, col*d.W, row*d.H, d.W, d.H, color.RGBA{0xff, 0xff, 0xff, 0xff}, font, nil)