Tenho um gráfico de barras simples que sobrepus com uma linha. As barras e as linhas são geradas a partir de dados diferentes, então o gráfico está distorcendo o tamanho das barras porque os dados da linha são significativamente maiores do que os dados das barras. Quero ter um eixo y separado para as linhas no lado direito do gráfico para evitar isso, mas não consigo encontrar nenhuma documentação para go-echarts sobre como fazer isso.
Aqui está uma imagem de como o gráfico está atualmente. Como você pode ver, as barras estão quase imperceptíveis.
Abaixo está meu código. A linha é adicionada na parte inferior do código. Alguém sabe como adicionar um eixo y no lado direito da linha?
// Sort the dates so that the x-axis is ordered.
var dates []string
for date := range data {
dates = append(dates, date)
}
sort.Strings(dates)
// Build series data for the bars (profit) and line (transaction count).
var barData []opts.BarData
for _, date := range dates {
stat := data[date]
barData = append(barData, opts.BarData{Value: stat.Profit})
}
// Create the bar chart for profit.
bar := charts.NewBar()
bar.SetGlobalOptions(
charts.WithTitleOpts(opts.Title{
Title: "Daily Profit",
Subtitle: "Profit in USDT",
}),
charts.WithLegendOpts(opts.Legend{
Show: opts.Bool(false),
}),
charts.WithDataZoomOpts(opts.DataZoom{
Type: "slider",
Start: 50,
End: 100,
}),
// First y-axis (index 0) for Profit USDT; no explicit index needed.
charts.WithYAxisOpts(
opts.YAxis{
Type: "value",
},
),
)
bar.SetXAxis(dates).AddSeries("Profit USDT", barData)
// Build series data for the bars (profit) and line (transaction count).
var lineData []opts.LineData
for _, date := range dates {
stat := data[date]
lineData = append(lineData, opts.LineData{Value: stat.Count, YAxisIndex: 1})
}
// Create the bar chart for profit.
line := charts.NewLine()
line.SetXAxis(dates).
AddSeries("Transaction Count", lineData)
line.SetGlobalOptions(
// First y-axis (index 0) for Profit USDT; no explicit index needed.
charts.WithYAxisOpts(
opts.YAxis{
Type: "value",
Position: "right",
},
),
)
line.ExtendYAxis(opts.YAxis{Type: "value", Position: "right", Show: opts.Bool(true)})
bar.Overlap(line)
return bar