可以设置图片的清晰度吗,我感觉图片的清晰度不是很高
我生成的柱状图,感觉太糊了


@backnono
- 图片不清晰有代码不?是不是字体库的问题
- 字体不能设置是指字体大小吗?label的字体大小现在是不支持设置
图片的清晰度可能是字体库的问题,我还没尝试,但是整体感觉图片的清晰度不是很高,生成的图片毕竟只有10+kb, 柱状图y轴和饼图上的字体都不能设置
`func BarChart() { values := [][]float64{ { 2.0, 20.9, 7656.0, }, } // 字体文件需要自行下载 // https://github.com/googlefonts/noto-cjk buf, err := ioutil.ReadFile("./NotoSansSC[wght].ttf") if err != nil { panic(err) } err = charts.InstallFont("noto", buf) if err != nil { panic(err) } p, err := charts.BarRender( values, charts.XAxisDataOptionFunc([]string{ "张三", "李四", "王五", }), charts.FontFamilyOptionFunc("noto"), charts.LegendLabelsOptionFunc([]string{ "Rainfall", "Evaporation", }, charts.PositionRight), charts.MarkLineOptionFunc(0, charts.SeriesMarkDataTypeAverage), charts.MarkPointOptionFunc(0, charts.SeriesMarkDataTypeMax, charts.SeriesMarkDataTypeMin), // custom option func func(opt *charts.ChartOption) { fmt.Println(opt) opt.SeriesList[0].MarkPoint = charts.NewMarkPoint( charts.SeriesMarkDataTypeMax, charts.SeriesMarkDataTypeMin, ) opt.SeriesList[0].MarkLine = charts.NewMarkLine( charts.SeriesMarkDataTypeAverage, ) }, func(opt *charts.ChartOption) { opt.BarWidth = 30 //opt.XAxis.FontSize = 15 opt.XAxis.FontColor = drawing.ColorBlack }, ) if err != nil { panic(err) }
buf, err = p.Bytes()
if err != nil {
panic(err)
}
err = writeFile(buf, "bar-chart.png")
if err != nil {
panic(err)
}
} `
这个纵坐标多少k这样的数值,能调整吗,直接7.1k直接用7100展示
字体不清楚的问题,字体库选择bold类型的即可。至于7.1k展示为7100暂时坐标轴的值未支持自定义,后续版本优化
@backnono 已支持自定义Y轴的值展示,自定义转换函数即可:
func(opt *charts.ChartOption) {
opt.ValueFormatter = func(f float64) string {
// 自定义将f(float64)转换为string即可
return ""
}
},