#vega-lite
#vega-lite
Вопрос:
Мой график не отображается в vega, несмотря на отсутствие ошибок, которые я вижу? Смущен тем, почему это так. Я не совсем понимаю, что бы я сделал неправильно, чтобы график не отображался на странице. Это шаблон, который я скачал
{ «$schema»: «https://vega.github.io/schema/vega-lite/v5.json»,
"title": {
"text": "My new Covid Chart",
"subtitle":"This is my new chart",
"subtitleFontStyle":"italic",
"subtitleFontSize":10,
"anchor": "start",
"color": "black"
},
"data": {
"url": "https://api.coronavirus.data.gov.uk/v2/data?areaType=overviewamp;metric=newCasesBySpecimenDateamp;format=csv",
"format": {"type": "csv"}
},
"transform":[
{"filter": {
"field": "areaName",
"oneOf": ["Bristol, City of", "Bolton", "Glasgow City"]}
}
],
"height": 300,
"width": 310,
"mark": {"type": "line", "point": false},
"encoding": {
"x": {
"field": "date",
"type": "temporal",
"title": null,
"axis": {"grid": false}
},
"y": {
"field": "newCasesByPublishDateRollingRate",
"type": "quantitative",
"title": null,
"axis": {"grid": false}
},
"color": {
"field": "areaName",
"type": "nominal",
"scale": {"scheme": "set1"},
"title": "LEGEND TITLE",
"legend": {
"orient": "top-left",
"fillColor": "#FcFdFd"}
}
}
}
Ответ №1:
Вы применили filter
преобразование, которое не удовлетворяло критериям и делало данные пустыми. Также newCasesByPublishDateRollingRate
поле для используемой оси y отсутствовало в ваших данных, вместо этого я попробовал поле newCasesBySpecimenDate
, которое работало. Добавьте правильную конфигурацию ниже или обратитесь к редактору:
{
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
"title": {
"text": "My new Covid Chart",
"subtitle": "This is my new chart",
"subtitleFontStyle": "italic",
"subtitleFontSize": 10,
"anchor": "start",
"color": "black"
},
"data": {
"url": "https://api.coronavirus.data.gov.uk/v2/data?areaType=overviewamp;metric=newCasesBySpecimenDateamp;format=csv",
"format": {"type": "csv"}
},
"height": 300,
"width": 310,
"mark": {"type": "line", "point": false},
"encoding": {
"x": {
"field": "date",
"type": "temporal",
"title": null,
"axis": {"grid": false}
},
"y": {
"field": "newCasesBySpecimenDate",
"type": "quantitative",
"title": null,
"axis": {"grid": false}
},
"color": {
"field": "areaName",
"type": "nominal",
"scale": {"scheme": "set1"},
"title": "LEGEND TITLE",
"legend": {"orient": "top-left", "fillColor": "#FcFdFd"}
}
}
}
Комментарии:
1. Спасибо! Тем не менее, я пытаюсь отфильтровать данные так, чтобы на графике отображались только три города. Например, Суонси, Абердин и (Глазго, город). Я бы подумал, что, применив преобразование фильтра, которое будет фильтровать данные, чтобы включить эти города.
2. хорошо, даже если в ваших данных не было городов, поэтому они становились пустыми с фильтром. В любом случае с фильтром график также не был бы нанесен, поскольку поле было неправильным.
3. Конечно, в данных есть города?? Вот почему я бы подумал, что фильтрация по areaname будет работать. Извините, что я новичок в этом, поэтому все еще пытаюсь все понять.