перейти к диаграмме динамических данных - PullRequest
0 голосов
/ 26 октября 2018

Использование этой библиотеки "https://github.com/wcharczuk/go-chart" Я хочу создать круговую диаграмму с использованием данных JSON.

Код

pie := chart.PieChart{
        Width:  512,
        Height: 512,
        Values: []chart.Value{
            {Value: 5, Label: "Blue"},
            {Value: 5, Label: "Green"},
            {Value: 4, Label: "Gray"},      
        },
    }

My Json

"reaction_summary": {
"ANGRY": 7,
"HAHA": 40,
"LIKE": 161,
"LOVE": 56,
"SAD": 26,
"SHOCK": 6
}

Чего я действительно хочу достичь, так это

data = Parse / map json как содержимое диаграммы. Значение

pie := chart.PieChart{
        Width:  512,
        Height: 512,
        Values: []chart.Value{
            data    
        },
    }

1 Ответ

0 голосов
/ 26 октября 2018

Что-то вроде

raw := `{"reaction_summary": {"ANGRY": 7,"HAHA": 40,"LIKE": 161,"LOVE": 56,"SAD": 26,"SHOCK": 6}}`

// Parse JSON
data := struct {
    ReactionSummary map[string]int `json:"reaction_summary"`
}{}
if err := json.Unmarshal([]byte(raw), &data); err != nil {
    log.Fatal(err)
}
// Populate a slice of chart values
var values []chart.Value
for l, v := range data.ReactionSummary {
    values = append(values, chart.Value{Label: l, Value: float64(v)})
}
// Initialize the chart
pie := chart.PieChart{
    Width:  512,
    Height: 512,
    Values: values,
}

Результат:

Result

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...