У меня есть спецификация диаграммы vega-lite , которую я хотел бы сохранить в PNG, используя одну из тем, доступных в vega-themes .
С vega-embed я могу использовать скрипт, подобный следующему, чтобы создать тематическую диаграмму в браузере, и вручную нажать «Сохранить в PNG» в меню:
<html>
<head>
<script src="https://cdn.jsdelivr.net/npm/vega@5"></script>
<script src="https://cdn.jsdelivr.net/npm/vega-lite@4"></script>
<script src="https://cdn.jsdelivr.net/npm/vega-embed@6"></script>
</head>
<body>
<div id="vis"></div>
<script type="text/javascript">
var spec = {
"$schema": "https://vega.github.io/schema/vega-lite/v4.json",
"description": "A simple bar chart with embedded data.",
"data": {
"values": [
{"a": "A", "b": 28}, {"a": "B", "b": 55}, {"a": "C", "b": 43},
{"a": "D", "b": 91}, {"a": "E", "b": 81}, {"a": "F", "b": 53},
{"a": "G", "b": 19}, {"a": "H", "b": 87}, {"a": "I", "b": 52}
]
},
"mark": "bar",
"encoding": {
"x": {"field": "a", "type": "ordinal"},
"y": {"field": "b", "type": "quantitative"}
}
};
vegaEmbed("#vis", spec, {theme: 'fivethirtyeight'});
</script>
</body>
</html>
![enter image description here](https://i.stack.imgur.com/MbP4n.png)
В качестве альтернативы, я могу автоматически создать без тематического png, используя инструмент командной строки vl2png
из vega-cli :
$ cat spec.json | vl2png > chart.png
![enter image description here](https://i.stack.imgur.com/FVjzZ.png)
Но я не уверен, где указывать тему в команде vl2png
.
Как мне указать тему диаграммы при использовании vega-cli для рендеринга и сохранения диаграммы?