Я мог получить значение каждого бренда внутри круговой диаграммы, регулируя радиус, но я не мог изменить цвет, не сделав всю круговую диаграмму черной. Я считаю, что мне, возможно, придется преобразовать сумму каждого бренда, но получение правильного значения в правильной позиции, кажется, моей главной проблемой.
{
"$schema": "https://vega.github.io/schema/vega-lite/v4.json",
"description": "A simple pie chart with labels.",
"height": 500,
"width": 500,
"data": {
"values": [
{"date": "4/15/2020", "brand": "Body Care", "mentions": 8599},
{"date": "4/7/2020", "brand": "Makeup", "mentions": 9090},
{"date": "6/29/2020", "brand": "Body Care", "mentions": 4563},
{"date": "11/7/2020", "brand": "Skincare", "mentions": 3369},
{"date": "10/10/2020", "brand": "Fragrance", "mentions": 7025},
{"date": "10/25/2020", "brand": "Skincare", "mentions": 3523},
{"date": "2/21/2020", "brand": "Fragrance", "mentions": 7976},
{"date": "3/2/2020", "brand": "Hair", "mentions": 1463},
{"date": "8/19/2020", "brand": "Fragrance", "mentions": 1912},
{"date": "10/14/2020", "brand": "Fragrance", "mentions": 6804},
{"date": "5/7/2020", "brand": "Makeup", "mentions": 4264},
{"date": "8/4/2020", "brand": "Fragrance", "mentions": 9007},
{"date": "9/17/2020", "brand": "Fragrance", "mentions": 5876},
{"date": "1/12/2020", "brand": "Fragrance", "mentions": 5675},
{"date": "7/17/2020", "brand": "Skincare", "mentions": 2555},
{"date": "1/29/2020", "brand": "Body Care", "mentions": 6824},
{"date": "9/19/2020", "brand": "Hair", "mentions": 3109},
{"date": "2/4/2020", "brand": "Body Care", "mentions": 5807},
{"date": "4/15/2020", "brand": "Fragrance", "mentions": 4999}
]
},
"encoding": {
"theta": {
"field": "mentions",
"type": "quantitative",
"stack": true,
"aggregate": "sum"
},
"color": {
"field": "brand",
"type": "nominal",
"legend": null,
"scale": {"range": "category"}
}
},
"layer": [
{"mark": {"type": "arc", "outerRadius": 200}},
{
"mark": {"type": "text", "radius": 250, "fontSize": 16},
"encoding": {"text": {"field": "brand", "type": "nominal"}, "color": {}}
},
{
"mark": {"type": "text", "radius": 300, "color": "blue"},
"encoding": {
"text": {
"field": "mentions",
"type": "quantitative",
"aggregate": "sum"
},
"color": {"field": "brand", "type": "nominal"}
}
}
],
"view": {"stroke": null}
}
Вы можете переместить кодировку "color"
в тот слой, где вы хотите ее применить, а затем использовать кодировку "detail"
для группировки текста без добавления цветовой шкалы (посмотреть в редакторе):
{
"$schema": "https://vega.github.io/schema/vega-lite/v4.json",
"description": "A simple pie chart with labels.",
"height": 500,
"width": 500,
"data": {
"values": [
{"date": "4/15/2020", "brand": "Body Care", "mentions": 8599},
{"date": "4/7/2020", "brand": "Makeup", "mentions": 9090},
{"date": "6/29/2020", "brand": "Body Care", "mentions": 4563},
{"date": "11/7/2020", "brand": "Skincare", "mentions": 3369},
{"date": "10/10/2020", "brand": "Fragrance", "mentions": 7025},
{"date": "10/25/2020", "brand": "Skincare", "mentions": 3523},
{"date": "2/21/2020", "brand": "Fragrance", "mentions": 7976},
{"date": "3/2/2020", "brand": "Hair", "mentions": 1463},
{"date": "8/19/2020", "brand": "Fragrance", "mentions": 1912},
{"date": "10/14/2020", "brand": "Fragrance", "mentions": 6804},
{"date": "5/7/2020", "brand": "Makeup", "mentions": 4264},
{"date": "8/4/2020", "brand": "Fragrance", "mentions": 9007},
{"date": "9/17/2020", "brand": "Fragrance", "mentions": 5876},
{"date": "1/12/2020", "brand": "Fragrance", "mentions": 5675},
{"date": "7/17/2020", "brand": "Skincare", "mentions": 2555},
{"date": "1/29/2020", "brand": "Body Care", "mentions": 6824},
{"date": "9/19/2020", "brand": "Hair", "mentions": 3109},
{"date": "2/4/2020", "brand": "Body Care", "mentions": 5807},
{"date": "4/15/2020", "brand": "Fragrance", "mentions": 4999}
]
},
"encoding": {
"theta": {
"field": "mentions",
"type": "quantitative",
"stack": true,
"aggregate": "sum"
}
},
"layer": [
{
"mark": {"type": "arc", "outerRadius": 200},
"encoding": {
"color": {
"field": "brand",
"type": "nominal",
"legend": null,
"scale": {"range": "category"}
}
}
},
{
"mark": {"type": "text", "radius": 250, "fontSize": 16},
"encoding": {"text": {"field": "brand", "type": "nominal"}}
},
{
"mark": {"type": "text", "radius": 300, "color": "blue"},
"encoding": {
"text": {
"field": "mentions",
"type": "quantitative",
"aggregate": "sum"
},
"detail": {"field": "brand", "type": "nominal"}
}
}
],
"view": {"stroke": null}
}