mirror of
https://github.com/olehomelchenko/olehomelchenko.com.git
synced 2025-12-21 13:12:22 +00:00
add some articles
This commit is contained in:
0
content/posts/_index.md
Normal file
0
content/posts/_index.md
Normal file
26
content/posts/dataviz-blogs.md
Normal file
26
content/posts/dataviz-blogs.md
Normal file
@@ -0,0 +1,26 @@
|
||||
---
|
||||
title: Блоги та Ресурси з візуалізації даних
|
||||
date: 2024-07-20
|
||||
draft: false
|
||||
tags:
|
||||
- Датавіз
|
||||
---
|
||||
|
||||
- https://datatowel.in.ua/ - демографія, економіка, електоральна географія України
|
||||
- https://texty.org.ua/projects/ - журналістика даних українською
|
||||
- https://observablehq.com/@ndrhzn - сторінка Андрія Газіна на Observable
|
||||
- https://fedir.gontsa.com/
|
||||
|
||||
- https://lisacharlottemuth.com/
|
||||
- https://dataanddragons.wordpress.com/
|
||||
- https://www.visualcinnamon.com/
|
||||
- https://visualisingdata.com/
|
||||
- http://www.studioterp.nl/
|
||||
- https://flowingdata.com/
|
||||
- https://truth-and-beauty.net/
|
||||
- https://datastori.es/
|
||||
- https://www.allitorban.com/
|
||||
- https://nightingaledvs.com/
|
||||
- https://dunne.dev/
|
||||
- https://www.data-to-viz.com/
|
||||
-
|
||||
@@ -2,31 +2,36 @@
|
||||
title: Книги та ресурси з аналізу та візуалізації даних (українською та не тільки)
|
||||
date: 2024-07-23
|
||||
draft: false
|
||||
tags:
|
||||
- Датавіз
|
||||
languages:
|
||||
- R
|
||||
- Python
|
||||
---
|
||||
### Аналіз даних
|
||||
* **The Data Journalism Handbook**:
|
||||
* [переклад українською на texty.org.ua (2015)](https://texty.org.ua/archive-books/40161/zhurnalistyka-danykh-posibnyk-40161/),
|
||||
* PDF EN - [Part 1](https://static.olehomelchenko.com/The-Data-Journalism-Handbook-1.pdf),
|
||||
* PDF EN - [Part 2](https://static.olehomelchenko.com/The-Data-Journalism-Handbook-2.pdf)
|
||||
* **Довідник із поганих даних від Quartz**:
|
||||
* [переклад українською на texty.org.ua](https://texty.org.ua/archive-books/90212/dovidnyk-iz-pohanykh-danykh-vid-quartz-90212/)
|
||||
* The Quartz guide to bad data - [Оригінал EN (GitHub)](https://github.com/Quartz/bad-data-guide)
|
||||
- **The Data Journalism Handbook**:
|
||||
- [переклад українською на texty.org.ua (2015)](https://texty.org.ua/archive-books/40161/zhurnalistyka-danykh-posibnyk-40161/),
|
||||
- PDF EN - [Part 1](https://static.olehomelchenko.com/The-Data-Journalism-Handbook-1.pdf),
|
||||
- PDF EN - [Part 2](https://static.olehomelchenko.com/The-Data-Journalism-Handbook-2.pdf)
|
||||
- **Довідник із поганих даних від Quartz**:
|
||||
- [переклад українською на texty.org.ua](https://texty.org.ua/archive-books/90212/dovidnyk-iz-pohanykh-danykh-vid-quartz-90212/)
|
||||
- The Quartz guide to bad data - [Оригінал EN (GitHub)](https://github.com/Quartz/bad-data-guide)
|
||||
|
||||
### Візуалізація даних
|
||||
* **Fundamentals of Data Visualization** by Claus O. Wilke: [clauswilke.com/dataviz](https://clauswilke.com/dataviz/)
|
||||
* **Good Charts: The HBR Guide to Making Smarter, More Persuasive Data Visualizations**
|
||||
* EN: [Amazon](https://www.amazon.com/dp/1633690709)
|
||||
* **Good Charts Workbook: Tips, Tools, and Exercises for Making Better Data Visualizations**
|
||||
* EN: [Amazon](https://www.amazon.com/dp/1633696170)
|
||||
* Українською: [ArtHuss](https://www.arthuss.com.ua/shop/khoroshi-diahramy)
|
||||
* **ggplot2 book** by Hadley Wickham: [ggplot2-book.org](https://ggplot2-book.org/)
|
||||
|
||||
- **Visualization Analysis and Design*- by Tamara Munzner: [taylorfrancis.com](https://www.taylorfrancis.com/books/mono/10.1201/b17511/visualization-analysis-design-tamara-munzner)
|
||||
- **Fundamentals of Data Visualization*- by Claus O. Wilke: [clauswilke.com/dataviz](https://clauswilke.com/dataviz/)
|
||||
- **Good Charts: The HBR Guide to Making Smarter, More Persuasive Data Visualizations**
|
||||
- EN: [Amazon](https://www.amazon.com/dp/1633690709)
|
||||
- **Good Charts Workbook: Tips, Tools, and Exercises for Making Better Data Visualizations**
|
||||
- EN: [Amazon](https://www.amazon.com/dp/1633696170)
|
||||
- Українською: [ArtHuss](https://www.arthuss.com.ua/shop/khoroshi-diahramy)
|
||||
- **ggplot2 book*- by Hadley Wickham: [ggplot2-book.org](https://ggplot2-book.org/)
|
||||
|
||||
### Курси та навчальні програми
|
||||
* **SDS 375 - Data Visualization in R** - by Claus O. Wilke: https://wilkelab.org/SDS375/
|
||||
* **Computing for Information Science** by Benjamin Soltoff: https://info5940.infosci.cornell.edu/
|
||||
- **SDS 375 - Data Visualization in R*- - by Claus O. Wilke: https://wilkelab.org/SDS375/
|
||||
- **Computing for Information Science*- by Benjamin Soltoff: https://info5940.infosci.cornell.edu/
|
||||
|
||||
|
||||
|
||||
### Інше
|
||||
* **A Layered Grammar of Graphics** by [Hadley Wickham](https://substack.com/@hadleywickham): [PDF](https://static.olehomelchenko.com/wickham_layered-grammar.pdf)
|
||||
- **A Layered Grammar of Graphics*- by [Hadley Wickham](https://substack.com/@hadleywickham): [PDF](https://static.olehomelchenko.com/wickham_layered-grammar.pdf)
|
||||
925
content/posts/forbes-50-foundations.md
Normal file
925
content/posts/forbes-50-foundations.md
Normal file
@@ -0,0 +1,925 @@
|
||||
---
|
||||
title: "Візуалізація: Топ-50 благодійних фондів за версією Forbes"
|
||||
date: 2024-09-11
|
||||
draft: false
|
||||
tags:
|
||||
- Dataviz
|
||||
- Showcase
|
||||
languages:
|
||||
- Vega-Lite
|
||||
|
||||
|
||||
load_vega: true
|
||||
---
|
||||
|
||||
В нещодавньому випуску український Forbes опублікував список топ-50 благодійних фондів України.
|
||||
|
||||
Мені натрапилось фото сторінки в [твітері](https://x.com/Oleg_Karpen/status/1833792259608678626):
|
||||
|
||||
{{< tweet user=Oleg_Karpen id=1833792259608678626 >}}
|
||||
|
||||
Мене зацікавила візуалізація інформації, наданої в табличному форматі.
|
||||
|
||||
## Список фондів за структурою надходжень
|
||||
|
||||
|
||||
{{< vega-lite id="entso-e-dynamics" width=600 height=1000 >}}
|
||||
{
|
||||
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
|
||||
"config": {
|
||||
"background": "#FFF",
|
||||
"padding": {
|
||||
"top": 30,
|
||||
"right": 30,
|
||||
"bottom": 30,
|
||||
"left": 30
|
||||
},
|
||||
"title": {
|
||||
"font": "Menlo, Lucida Console, Monospace",
|
||||
"fontSize": 14,
|
||||
"fontWeight": "normal",
|
||||
"color": "#005",
|
||||
"dy": -3,
|
||||
"anchor": "middle",
|
||||
"subtitleFont": "Menlo, Lucida Console, Monospace",
|
||||
"subtitleColor": "#337",
|
||||
"subtitlePadding": 5
|
||||
},
|
||||
"legend": {
|
||||
"layout": {
|
||||
"bottom": {
|
||||
"anchor": "middle"
|
||||
}
|
||||
},
|
||||
"orient": "bottom",
|
||||
"gradientLength": 500,
|
||||
"labelLimit": 500,
|
||||
"columns": 3,
|
||||
"clipHeight": 15,
|
||||
"rowPadding": 10,
|
||||
"gridAlign": "none",
|
||||
"labelFont": "Menlo, Lucida Console, Monospace",
|
||||
"titleFont": "Menlo, Lucida Console, Monospace",
|
||||
"titleFontWeight": "normal",
|
||||
"titlePadding": 5,
|
||||
"titleAlign": "center",
|
||||
"titleAnchor": "middle",
|
||||
"titleLimit": 500,
|
||||
"titleColor": "#005"
|
||||
},
|
||||
"text": {
|
||||
"font": "Menlo, Lucida Console, Monospace",
|
||||
"color": "#005"
|
||||
},
|
||||
"axis": {
|
||||
"labelFont": "Menlo, Lucida Console, Monospace",
|
||||
"labelColor": "#005",
|
||||
"titleFont": "Menlo, Lucida Console, Monospace",
|
||||
"titleColor": "#337"
|
||||
},
|
||||
},
|
||||
"width": 600,
|
||||
"params": [
|
||||
{
|
||||
"name": "org",
|
||||
"select": {"type": "point", "fields": ["Джерело"]},
|
||||
"bind": {
|
||||
"input": "select",
|
||||
"options": [null, "Юрособи", "Фізособи", "Нерезиденти", "Інше"]
|
||||
}
|
||||
}
|
||||
],
|
||||
"mark": {"type": "bar", "tooltip": true},
|
||||
"encoding": {
|
||||
"y": {"field": "назва", "type": "nominal", "sort": "-x"},
|
||||
"x": {"aggregate": "sum", "field": "value", "type": "quantitative"},
|
||||
"color": {
|
||||
"field": "Джерело",
|
||||
"type": "nominal",
|
||||
"sort": ["Юрособи", "Фізособи", "Нерезиденти", "Інше"],
|
||||
"scale": {
|
||||
"domain": ["Юрособи", "Фізособи", "Нерезиденти", "Інше"],
|
||||
"range": ["#abc", "#4a4", "#a4a", "#ddd"]
|
||||
}
|
||||
}
|
||||
},
|
||||
"transform": [
|
||||
{"calculate": "datum['дж_юр'] * datum['Зібрано'] / 100", "as": "Юрособи"},
|
||||
{"calculate": "datum['дж_фіз'] * datum['Зібрано'] / 100", "as": "Фізособи"},
|
||||
{
|
||||
"calculate": "datum['дж_нерез'] * datum['Зібрано'] / 100",
|
||||
"as": "Нерезиденти"
|
||||
},
|
||||
{"calculate": "datum['дж_інш'] * datum['Зібрано'] / 100", "as": "Інше"},
|
||||
{
|
||||
"fold": ["Юрособи", "Фізособи", "Нерезиденти", "Інше"],
|
||||
"as": ["Джерело", "value"]
|
||||
},
|
||||
{"filter": {"param": "org"}}
|
||||
],
|
||||
"data": {
|
||||
"values": [
|
||||
{
|
||||
"назва": "Повернись Живим",
|
||||
"тип": "Міл",
|
||||
"Зібрано": 4678,
|
||||
"дж_юр": 45,
|
||||
"дж_фіз": 44,
|
||||
"дж_нерез": 11,
|
||||
"дж_інш": 0,
|
||||
"адм": 1,
|
||||
"витр_вій": 100,
|
||||
"витр_фіз": 0,
|
||||
"витр_інш_бф": 0,
|
||||
"витр_інш": 0,
|
||||
"доп_фізос": 0,
|
||||
"доп_орган": 485
|
||||
},
|
||||
{
|
||||
"назва": "Карітас",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 3032,
|
||||
"дж_юр": 0,
|
||||
"дж_фіз": 0,
|
||||
"дж_нерез": 100,
|
||||
"дж_інш": 0,
|
||||
"адм": 7,
|
||||
"витр_вій": 0,
|
||||
"витр_фіз": 46,
|
||||
"витр_інш_бф": 54,
|
||||
"витр_інш": 0,
|
||||
"доп_фізос": 81581,
|
||||
"доп_орган": 58
|
||||
},
|
||||
{
|
||||
"назва": "100% Життя",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 2647,
|
||||
"дж_юр": 2,
|
||||
"дж_фіз": 0,
|
||||
"дж_нерез": 98,
|
||||
"дж_інш": 0,
|
||||
"адм": 1,
|
||||
"витр_вій": 1,
|
||||
"витр_фіз": 0,
|
||||
"витр_інш_бф": 64,
|
||||
"витр_інш": 35,
|
||||
"доп_фізос": 8,
|
||||
"доп_орган": 476
|
||||
},
|
||||
{
|
||||
"назва": "Фонд Сергія Притули",
|
||||
"тип": "Міл",
|
||||
"Зібрано": 2146,
|
||||
"дж_юр": 13,
|
||||
"дж_фіз": 72,
|
||||
"дж_нерез": 6,
|
||||
"дж_інш": 9,
|
||||
"адм": 1,
|
||||
"витр_вій": 93,
|
||||
"витр_фіз": 1,
|
||||
"витр_інш_бф": 0,
|
||||
"витр_інш": 5,
|
||||
"доп_фізос": 37,
|
||||
"доп_орган": 631
|
||||
},
|
||||
{
|
||||
"назва": "KSE Foundation",
|
||||
"тип": "Міл",
|
||||
"Зібрано": 1696,
|
||||
"дж_юр": 18,
|
||||
"дж_фіз": 2,
|
||||
"дж_нерез": 80,
|
||||
"дж_інш": 0,
|
||||
"адм": 2,
|
||||
"витр_вій": 20,
|
||||
"витр_фіз": 14,
|
||||
"витр_інш_бф": 24,
|
||||
"витр_інш": 42,
|
||||
"доп_фізос": 591,
|
||||
"доп_орган": 433
|
||||
},
|
||||
{
|
||||
"назва": "AICM Україна",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 1650,
|
||||
"дж_юр": 0,
|
||||
"дж_фіз": 0,
|
||||
"дж_нерез": 100,
|
||||
"дж_інш": 0,
|
||||
"адм": 3,
|
||||
"витр_вій": 0,
|
||||
"витр_фіз": 20,
|
||||
"витр_інш_бф": 0,
|
||||
"витр_інш": 80,
|
||||
"доп_фізос": 3000000,
|
||||
"доп_орган": 1841
|
||||
},
|
||||
{
|
||||
"назва": "Альянс громадського здоровʼя",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 1520,
|
||||
"дж_юр": 0,
|
||||
"дж_фіз": 0,
|
||||
"дж_нерез": 99,
|
||||
"дж_інш": 1,
|
||||
"адм": 11,
|
||||
"витр_вій": 0,
|
||||
"витр_фіз": 80,
|
||||
"витр_інш_бф": 0,
|
||||
"витр_інш": 20,
|
||||
"доп_фізос": 474000,
|
||||
"доп_орган": 177
|
||||
},
|
||||
{
|
||||
"назва": "Razom for Ukraine",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 1406,
|
||||
"дж_юр": 2,
|
||||
"дж_фіз": 0,
|
||||
"дж_нерез": 98,
|
||||
"дж_інш": 0,
|
||||
"адм": 1,
|
||||
"витр_вій": 41,
|
||||
"витр_фіз": 0,
|
||||
"витр_інш_бф": 34,
|
||||
"витр_інш": 25,
|
||||
"доп_фізос": 0,
|
||||
"доп_орган": 1053
|
||||
},
|
||||
{
|
||||
"назва": "До України з любовʼю",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 1297,
|
||||
"дж_юр": 0,
|
||||
"дж_фіз": 0,
|
||||
"дж_нерез": 100,
|
||||
"дж_інш": 0,
|
||||
"адм": 1,
|
||||
"витр_вій": 0,
|
||||
"витр_фіз": 98,
|
||||
"витр_інш_бф": 1,
|
||||
"витр_інш": 1,
|
||||
"доп_фізос": 5500,
|
||||
"доп_орган": 7
|
||||
},
|
||||
{
|
||||
"назва": "Право на захист",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 1286,
|
||||
"дж_юр": 0,
|
||||
"дж_фіз": 0,
|
||||
"дж_нерез": 100,
|
||||
"дж_інш": 0,
|
||||
"адм": 30,
|
||||
"витр_вій": 0,
|
||||
"витр_фіз": 100,
|
||||
"витр_інш_бф": 0,
|
||||
"витр_інш": 0,
|
||||
"доп_фізос": 1100000,
|
||||
"доп_орган": 550
|
||||
},
|
||||
{
|
||||
"назва": "Superhumans",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 961,
|
||||
"дж_юр": 16,
|
||||
"дж_фіз": 7,
|
||||
"дж_нерез": 8,
|
||||
"дж_інш": 69,
|
||||
"адм": 13,
|
||||
"витр_вій": 0,
|
||||
"витр_фіз": 0,
|
||||
"витр_інш_бф": 0,
|
||||
"витр_інш": 100,
|
||||
"доп_фізос": null,
|
||||
"доп_орган": 236
|
||||
},
|
||||
{
|
||||
"назва": "Фонд Порошенка",
|
||||
"тип": "Прив",
|
||||
"Зібрано": 876,
|
||||
"дж_юр": null,
|
||||
"дж_фіз": null,
|
||||
"дж_нерез": null,
|
||||
"дж_інш": null,
|
||||
"адм": 0,
|
||||
"витр_вій": 100,
|
||||
"витр_фіз": 0,
|
||||
"витр_інш_бф": 0,
|
||||
"витр_інш": 0,
|
||||
"доп_фізос": 200,
|
||||
"доп_орган": 287
|
||||
},
|
||||
{
|
||||
"назва": "Адвентистське агентство допомоги і розвитку в Україні",
|
||||
"тип": "Корп",
|
||||
"Зібрано": 760,
|
||||
"дж_юр": 0,
|
||||
"дж_фіз": 0,
|
||||
"дж_нерез": 100,
|
||||
"дж_інш": 0,
|
||||
"адм": 2,
|
||||
"витр_вій": 0,
|
||||
"витр_фіз": 99,
|
||||
"витр_інш_бф": 1,
|
||||
"витр_інш": 0,
|
||||
"доп_фізос": 1167246,
|
||||
"доп_орган": 74
|
||||
},
|
||||
{
|
||||
"назва": "Відродження",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 733,
|
||||
"дж_юр": 0,
|
||||
"дж_фіз": 0,
|
||||
"дж_нерез": 100,
|
||||
"дж_інш": 0,
|
||||
"адм": 11,
|
||||
"витр_вій": 0,
|
||||
"витр_фіз": 0,
|
||||
"витр_інш_бф": 0,
|
||||
"витр_інш": 100,
|
||||
"доп_фізос": null,
|
||||
"доп_орган": 236
|
||||
},
|
||||
{
|
||||
"назва": "СОС Дитячі Містечка",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 722,
|
||||
"дж_юр": 8,
|
||||
"дж_фіз": 5,
|
||||
"дж_нерез": 70,
|
||||
"дж_інш": 17,
|
||||
"адм": 25,
|
||||
"витр_вій": 0,
|
||||
"витр_фіз": 90,
|
||||
"витр_інш_бф": 5,
|
||||
"витр_інш": 5,
|
||||
"доп_фізос": 272144,
|
||||
"доп_орган": 25
|
||||
},
|
||||
{
|
||||
"назва": "МХП - Громаді",
|
||||
"тип": "Корп",
|
||||
"Зібрано": 686,
|
||||
"дж_юр": 98,
|
||||
"дж_фіз": 2,
|
||||
"дж_нерез": 0,
|
||||
"дж_інш": 0,
|
||||
"адм": 3,
|
||||
"витр_вій": 61,
|
||||
"витр_фіз": 0,
|
||||
"витр_інш_бф": 12,
|
||||
"витр_інш": 27,
|
||||
"доп_фізос": 1803,
|
||||
"доп_орган": 740
|
||||
},
|
||||
{
|
||||
"назва": "Центр волонтерства та захисту",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 669,
|
||||
"дж_юр": 0,
|
||||
"дж_фіз": 0,
|
||||
"дж_нерез": 2,
|
||||
"дж_інш": 98,
|
||||
"адм": 3,
|
||||
"витр_вій": 0,
|
||||
"витр_фіз": 12,
|
||||
"витр_інш_бф": 11,
|
||||
"витр_інш": 77,
|
||||
"доп_фізос": 33800,
|
||||
"доп_орган": 651
|
||||
},
|
||||
{
|
||||
"назва": "Збережи Україну!",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 595,
|
||||
"дж_юр": 82,
|
||||
"дж_фіз": 2,
|
||||
"дж_нерез": 16,
|
||||
"дж_інш": 0,
|
||||
"адм": 0,
|
||||
"витр_вій": 57,
|
||||
"витр_фіз": 3,
|
||||
"витр_інш_бф": 4,
|
||||
"витр_інш": 36,
|
||||
"доп_фізос": 375,
|
||||
"доп_орган": 2045
|
||||
},
|
||||
{
|
||||
"назва": "Єврейський Хесед Бней Азріель",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 583,
|
||||
"дж_юр": 100,
|
||||
"дж_фіз": 0,
|
||||
"дж_нерез": 0,
|
||||
"дж_інш": 0,
|
||||
"адм": 4,
|
||||
"витр_вій": 0,
|
||||
"витр_фіз": 96,
|
||||
"витр_інш_бф": 0,
|
||||
"витр_інш": 4,
|
||||
"доп_фізос": 6800,
|
||||
"доп_орган": 9
|
||||
},
|
||||
{
|
||||
"назва": "Янголи спасіння",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 489,
|
||||
"дж_юр": 5,
|
||||
"дж_фіз": 1,
|
||||
"дж_нерез": 94,
|
||||
"дж_інш": 0,
|
||||
"адм": 4,
|
||||
"витр_вій": 0,
|
||||
"витр_фіз": 96,
|
||||
"витр_інш_бф": 0,
|
||||
"витр_інш": 4,
|
||||
"доп_фізос": 2870381,
|
||||
"доп_орган": null
|
||||
},
|
||||
{
|
||||
"назва": "Фонд Віктора Пінчука",
|
||||
"тип": "Прив",
|
||||
"Зібрано": 454,
|
||||
"дж_юр": 0,
|
||||
"дж_фіз": 100,
|
||||
"дж_нерез": 0,
|
||||
"дж_інш": 0,
|
||||
"адм": 3,
|
||||
"витр_вій": 0,
|
||||
"витр_фіз": 0,
|
||||
"витр_інш_бф": 0,
|
||||
"витр_інш": 100,
|
||||
"доп_фізос": null,
|
||||
"доп_орган": null
|
||||
},
|
||||
{
|
||||
"назва": "Рокада",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 445,
|
||||
"дж_юр": 0,
|
||||
"дж_фіз": 0,
|
||||
"дж_нерез": 100,
|
||||
"дж_інш": 0,
|
||||
"адм": 20,
|
||||
"витр_вій": 0,
|
||||
"витр_фіз": 100,
|
||||
"витр_інш_бф": 0,
|
||||
"витр_інш": 0,
|
||||
"доп_фізос": 108500,
|
||||
"доп_орган": null
|
||||
},
|
||||
{
|
||||
"назва": "Нціональна агенція ZDOROVI",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 441,
|
||||
"дж_юр": 26,
|
||||
"дж_фіз": 0,
|
||||
"дж_нерез": 74,
|
||||
"дж_інш": 0,
|
||||
"адм": 2,
|
||||
"витр_вій": 0,
|
||||
"витр_фіз": 0,
|
||||
"витр_інш_бф": 15,
|
||||
"витр_інш": 82,
|
||||
"доп_фізос": 0,
|
||||
"доп_орган": 630
|
||||
},
|
||||
{
|
||||
"назва": "Посмішка ЮА",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 435,
|
||||
"дж_юр": 0,
|
||||
"дж_фіз": 1,
|
||||
"дж_нерез": 99,
|
||||
"дж_інш": 0,
|
||||
"адм": 2,
|
||||
"витр_вій": 0,
|
||||
"витр_фіз": 18,
|
||||
"витр_інш_бф": 13,
|
||||
"витр_інш": 69,
|
||||
"доп_фізос": 1182753,
|
||||
"доп_орган": 12
|
||||
},
|
||||
{
|
||||
"назва": "Стабілізейшен Суппорт Сервісес",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 384,
|
||||
"дж_юр": 0,
|
||||
"дж_фіз": 0,
|
||||
"дж_нерез": 100,
|
||||
"дж_інш": 0,
|
||||
"адм": 13,
|
||||
"витр_вій": 0,
|
||||
"витр_фіз": 60,
|
||||
"витр_інш_бф": 0,
|
||||
"витр_інш": 40,
|
||||
"доп_фізос": 250000,
|
||||
"доп_орган": 848
|
||||
},
|
||||
{
|
||||
"назва": "Мирне небо Харкова",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 346,
|
||||
"дж_юр": 1,
|
||||
"дж_фіз": 2,
|
||||
"дж_нерез": 97,
|
||||
"дж_інш": 2,
|
||||
"адм": 7,
|
||||
"витр_вій": 0,
|
||||
"витр_фіз": 100,
|
||||
"витр_інш_бф": 0,
|
||||
"витр_інш": 0,
|
||||
"доп_фізос": null,
|
||||
"доп_орган": null
|
||||
},
|
||||
{
|
||||
"назва": "Фундація Олени Зеленської",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 334,
|
||||
"дж_юр": 0,
|
||||
"дж_фіз": 0,
|
||||
"дж_нерез": 100,
|
||||
"дж_інш": 0,
|
||||
"адм": 7,
|
||||
"витр_вій": 0,
|
||||
"витр_фіз": 67,
|
||||
"витр_інш_бф": 15,
|
||||
"витр_інш": 18,
|
||||
"доп_фізос": 600000,
|
||||
"доп_орган": 15
|
||||
},
|
||||
{
|
||||
"назва": "Корпорація монстрів",
|
||||
"тип": "Міл",
|
||||
"Зібрано": 332,
|
||||
"дж_юр": 35,
|
||||
"дж_фіз": 44,
|
||||
"дж_нерез": 21,
|
||||
"дж_інш": 0,
|
||||
"адм": 1,
|
||||
"витр_вій": 61,
|
||||
"витр_фіз": 11,
|
||||
"витр_інш_бф": 1,
|
||||
"витр_інш": 27,
|
||||
"доп_фізос": 3091,
|
||||
"доп_орган": 267
|
||||
},
|
||||
{
|
||||
"назва": "Діти Героїв",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 330,
|
||||
"дж_юр": 26,
|
||||
"дж_фіз": 4,
|
||||
"дж_нерез": 53,
|
||||
"дж_інш": 17,
|
||||
"адм": 9,
|
||||
"витр_вій": 0,
|
||||
"витр_фіз": 100,
|
||||
"витр_інш_бф": 0,
|
||||
"витр_інш": 0,
|
||||
"доп_фізос": 7408,
|
||||
"доп_орган": 0
|
||||
},
|
||||
{
|
||||
"назва": "Загартовані серця",
|
||||
"тип": "Корп",
|
||||
"Зібрано": 325,
|
||||
"дж_юр": 90,
|
||||
"дж_фіз": 10,
|
||||
"дж_нерез": 0,
|
||||
"дж_інш": 0,
|
||||
"адм": 0,
|
||||
"витр_вій": 85,
|
||||
"витр_фіз": 10,
|
||||
"витр_інш_бф": 5,
|
||||
"витр_інш": 0,
|
||||
"доп_фізос": 300,
|
||||
"доп_орган": 500
|
||||
},
|
||||
{
|
||||
"назва": "Океан надій",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 320,
|
||||
"дж_юр": 0,
|
||||
"дж_фіз": 0,
|
||||
"дж_нерез": 100,
|
||||
"дж_інш": 0,
|
||||
"адм": 6,
|
||||
"витр_вій": 7,
|
||||
"витр_фіз": 15,
|
||||
"витр_інш_бф": 56,
|
||||
"витр_інш": 22,
|
||||
"доп_фізос": 21,
|
||||
"доп_орган": null
|
||||
},
|
||||
{
|
||||
"назва": "Фонд Ріната Ахметова",
|
||||
"тип": "Прив",
|
||||
"Зібрано": 314,
|
||||
"дж_юр": 0,
|
||||
"дж_фіз": 100,
|
||||
"дж_нерез": 0,
|
||||
"дж_інш": 0,
|
||||
"адм": 7,
|
||||
"витр_вій": 0,
|
||||
"витр_фіз": 99,
|
||||
"витр_інш_бф": 0,
|
||||
"витр_інш": 1,
|
||||
"доп_фізос": 1600000,
|
||||
"доп_орган": 231
|
||||
},
|
||||
{
|
||||
"назва": "Nova Ukraine",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 310,
|
||||
"дж_юр": 15,
|
||||
"дж_фіз": 1,
|
||||
"дж_нерез": 84,
|
||||
"дж_інш": 0,
|
||||
"адм": 8,
|
||||
"витр_вій": 6,
|
||||
"витр_фіз": 0,
|
||||
"витр_інш_бф": 51,
|
||||
"витр_інш": 43,
|
||||
"доп_фізос": null,
|
||||
"доп_орган": null
|
||||
},
|
||||
{
|
||||
"назва": "savED",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 289,
|
||||
"дж_юр": 26,
|
||||
"дж_фіз": 6,
|
||||
"дж_нерез": 68,
|
||||
"дж_інш": 0,
|
||||
"адм": 3,
|
||||
"витр_вій": 0,
|
||||
"витр_фіз": 0,
|
||||
"витр_інш_бф": 0,
|
||||
"витр_інш": 100,
|
||||
"доп_фізос": 60000,
|
||||
"доп_орган": 0
|
||||
},
|
||||
{
|
||||
"назва": "KOLO",
|
||||
"тип": "Міл",
|
||||
"Зібрано": 274,
|
||||
"дж_юр": 15,
|
||||
"дж_фіз": 80,
|
||||
"дж_нерез": 5,
|
||||
"дж_інш": 0,
|
||||
"адм": 1,
|
||||
"витр_вій": 100,
|
||||
"витр_фіз": 0,
|
||||
"витр_інш_бф": 0,
|
||||
"витр_інш": 0,
|
||||
"доп_фізос": 0,
|
||||
"доп_орган": 217
|
||||
},
|
||||
{
|
||||
"назва": "Пацієнти України",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 269,
|
||||
"дж_юр": 13,
|
||||
"дж_фіз": 0,
|
||||
"дж_нерез": 87,
|
||||
"дж_інш": 0,
|
||||
"адм": 2,
|
||||
"витр_вій": 8,
|
||||
"витр_фіз": 0,
|
||||
"витр_інш_бф": 3,
|
||||
"витр_інш": 90,
|
||||
"доп_фізос": 900000,
|
||||
"доп_орган": 265
|
||||
},
|
||||
{
|
||||
"назва": "Save Ukraine",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 264,
|
||||
"дж_юр": 0,
|
||||
"дж_фіз": 1,
|
||||
"дж_нерез": 99,
|
||||
"дж_інш": 0,
|
||||
"адм": 12,
|
||||
"витр_вій": 0,
|
||||
"витр_фіз": 90,
|
||||
"витр_інш_бф": 5,
|
||||
"витр_інш": 5,
|
||||
"доп_фізос": null,
|
||||
"доп_орган": 10
|
||||
},
|
||||
{
|
||||
"назва": "АТБ",
|
||||
"тип": "Корп",
|
||||
"Зібрано": 231,
|
||||
"дж_юр": 99.5,
|
||||
"дж_фіз": 0.5,
|
||||
"дж_нерез": 0,
|
||||
"дж_інш": 0,
|
||||
"адм": 1,
|
||||
"витр_вій": 100,
|
||||
"витр_фіз": 1,
|
||||
"витр_інш_бф": 0,
|
||||
"витр_інш": 0,
|
||||
"доп_фізос": 30,
|
||||
"доп_орган": 22
|
||||
},
|
||||
{
|
||||
"назва": "Повір у себе",
|
||||
"тип": "Корп",
|
||||
"Зібрано": 228,
|
||||
"дж_юр": 42,
|
||||
"дж_фіз": 1,
|
||||
"дж_нерез": 58,
|
||||
"дж_інш": 0,
|
||||
"адм": 3,
|
||||
"витр_вій": 20,
|
||||
"витр_фіз": 0,
|
||||
"витр_інш_бф": 6,
|
||||
"витр_інш": 73,
|
||||
"доп_фізос": 185,
|
||||
"доп_орган": 100
|
||||
},
|
||||
{
|
||||
"назва": "Голоси дітей",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 187,
|
||||
"дж_юр": 3,
|
||||
"дж_фіз": 4,
|
||||
"дж_нерез": 93,
|
||||
"дж_інш": 0,
|
||||
"адм": 14,
|
||||
"витр_вій": 0,
|
||||
"витр_фіз": 100,
|
||||
"витр_інш_бф": 0,
|
||||
"витр_інш": 0,
|
||||
"доп_фізос": 40642,
|
||||
"доп_орган": 80
|
||||
},
|
||||
{
|
||||
"назва": "Українська фундація громадського здоровʼя",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 183,
|
||||
"дж_юр": 0,
|
||||
"дж_фіз": 0,
|
||||
"дж_нерез": 100,
|
||||
"дж_інш": 0,
|
||||
"адм": 3,
|
||||
"витр_вій": 0,
|
||||
"витр_фіз": 100,
|
||||
"витр_інш_бф": 0,
|
||||
"витр_інш": 0,
|
||||
"доп_фізос": 390000,
|
||||
"доп_орган": 0
|
||||
},
|
||||
{
|
||||
"назва": "Хартія",
|
||||
"тип": "Міл",
|
||||
"Зібрано": 181,
|
||||
"дж_юр": 90,
|
||||
"дж_фіз": 7,
|
||||
"дж_нерез": 3,
|
||||
"дж_інш": 0,
|
||||
"адм": 0,
|
||||
"витр_вій": 71,
|
||||
"витр_фіз": 20,
|
||||
"витр_інш_бф": 10,
|
||||
"витр_інш": 0,
|
||||
"доп_фізос": 165,
|
||||
"доп_орган": 10
|
||||
},
|
||||
{
|
||||
"назва": "Фонд Руслана Шостака",
|
||||
"тип": "Прив",
|
||||
"Зібрано": 179,
|
||||
"дж_юр": 78,
|
||||
"дж_фіз": 16,
|
||||
"дж_нерез": 3,
|
||||
"дж_інш": 2,
|
||||
"адм": 3,
|
||||
"витр_вій": 60,
|
||||
"витр_фіз": 38,
|
||||
"витр_інш_бф": 0,
|
||||
"витр_інш": 3,
|
||||
"доп_фізос": null,
|
||||
"доп_орган": null
|
||||
},
|
||||
{
|
||||
"назва": "Українська федерація банків продовольства",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 171,
|
||||
"дж_юр": 1.2,
|
||||
"дж_фіз": 0.3,
|
||||
"дж_нерез": 98.5,
|
||||
"дж_інш": 0,
|
||||
"адм": 13,
|
||||
"витр_вій": 0,
|
||||
"витр_фіз": 0,
|
||||
"витр_інш_бф": 63,
|
||||
"витр_інш": 37,
|
||||
"доп_фізос": 375315,
|
||||
"доп_орган": 48
|
||||
},
|
||||
{
|
||||
"назва": "Твоя опора",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 165,
|
||||
"дж_юр": 16,
|
||||
"дж_фіз": 7,
|
||||
"дж_нерез": 49,
|
||||
"дж_інш": 28,
|
||||
"адм": 6,
|
||||
"витр_вій": 0,
|
||||
"витр_фіз": 25,
|
||||
"витр_інш_бф": 12,
|
||||
"витр_інш": 62,
|
||||
"доп_фізос": 81223,
|
||||
"доп_орган": 107
|
||||
},
|
||||
{
|
||||
"назва": "Незламні",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 161,
|
||||
"дж_юр": 22,
|
||||
"дж_фіз": 1,
|
||||
"дж_нерез": 57,
|
||||
"дж_інш": 20,
|
||||
"адм": 5,
|
||||
"витр_вій": 0,
|
||||
"витр_фіз": 0,
|
||||
"витр_інш_бф": 0,
|
||||
"витр_інш": 100,
|
||||
"доп_фізос": 9000,
|
||||
"доп_орган": 3
|
||||
},
|
||||
{
|
||||
"назва": "Благомай",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 160,
|
||||
"дж_юр": 44,
|
||||
"дж_фіз": 1,
|
||||
"дж_нерез": 55,
|
||||
"дж_інш": 0,
|
||||
"адм": 6,
|
||||
"витр_вій": 0,
|
||||
"витр_фіз": 25,
|
||||
"витр_інш_бф": 12,
|
||||
"витр_інш": 62,
|
||||
"доп_фізос": 9000,
|
||||
"доп_орган": 3
|
||||
},
|
||||
{
|
||||
"назва": "Таблеточки",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 169,
|
||||
"дж_юр": 16,
|
||||
"дж_фіз": 39,
|
||||
"дж_нерез": 43,
|
||||
"дж_інш": 2,
|
||||
"адм": 13,
|
||||
"витр_вій": 0,
|
||||
"витр_фіз": 61,
|
||||
"витр_інш_бф": 0,
|
||||
"витр_інш": 39,
|
||||
"доп_фізос": 2000,
|
||||
"доп_орган": 18
|
||||
},
|
||||
{
|
||||
"назва": "BGV",
|
||||
"тип": "Прив",
|
||||
"Зібрано": 157,
|
||||
"дж_юр": 38,
|
||||
"дж_фіз": 27,
|
||||
"дж_нерез": 35,
|
||||
"дж_інш": 0,
|
||||
"адм": 2,
|
||||
"витр_вій": 46,
|
||||
"витр_фіз": 32,
|
||||
"витр_інш_бф": 9,
|
||||
"витр_інш": 13,
|
||||
"доп_фізос": 63976,
|
||||
"доп_орган": 151
|
||||
},
|
||||
{
|
||||
"назва": "Словʼянське серце",
|
||||
"тип": "Гум",
|
||||
"Зібрано": 147,
|
||||
"дж_юр": 0,
|
||||
"дж_фіз": 0,
|
||||
"дж_нерез": 100,
|
||||
"дж_інш": 0,
|
||||
"адм": 9,
|
||||
"витр_вій": 0,
|
||||
"витр_фіз": 100,
|
||||
"витр_інш_бф": 0,
|
||||
"витр_інш": 0,
|
||||
"доп_фізос": 20685,
|
||||
"доп_орган": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
{{< /vega-lite >}}
|
||||
145
content/posts/vega-altair-hugo-shortcodes.md
Normal file
145
content/posts/vega-altair-hugo-shortcodes.md
Normal file
@@ -0,0 +1,145 @@
|
||||
---
|
||||
title: Додавання Vega-Lite візуалізацій в Hugo за допомогою Shortcodes
|
||||
date: 2024-07-23
|
||||
draft: false
|
||||
tags:
|
||||
- Dataviz
|
||||
- Hugo
|
||||
languages:
|
||||
- Altair
|
||||
- Vega-Lite
|
||||
- Hugo
|
||||
|
||||
load_vega: true
|
||||
---
|
||||
|
||||
|
||||
Код специфікації vega-lite, що треба додати:
|
||||
```json
|
||||
|
||||
{
|
||||
"$schema": "https://vega.github.io/schema/vega-lite/v5.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", "title": "aoesuthaosth", "type": "nominal", "axis": {"labelAngle": 0}},
|
||||
"y": {"field": "b", "type": "quantitative"}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
```
|
||||
|
||||
|
||||
Замість ручного додавання скриптів та ембеддингу як в [туторіалі](https://vega.github.io/vega-lite/usage/embed.html), є можливість підійти трохи гнучкіше і завантажувати vega-lite бібліотеки лише на тих сторінках на яких вони потрібні, а також параметризувати деякі із штук за замовчуванням:
|
||||
|
||||
|
||||
```html
|
||||
<!-- Create a unique ID for the div where the Vega-Lite visualization will be rendered -->
|
||||
<div class="vegaVis" id="{{ .Get "id" | default "vega-lite-vis" }}"></div>
|
||||
<script>
|
||||
const spec = {{ .Inner | safeJS }};
|
||||
spec['width'] = spec['width']? spec['width'] : {{ .Get "width" | default 700}};
|
||||
spec['height'] = spec['height']? spec['height'] : {{ .Get "height" | default 300}};
|
||||
vegaEmbed('#{{ .Get "id" | default "vega-lite-vis" }}', spec, {"actions": false}).catch(console.error);
|
||||
|
||||
</script>
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
Використання (прибрати пробіл до/після `< >`, які я додав щоб воно не рендерилось):
|
||||
|
||||
|
||||
```
|
||||
{{ < vega-lite id="unique-vis-id-1" actions="true"> }}
|
||||
{
|
||||
"$schema": "https://vega.github.io/schema/vega-lite/v5.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",
|
||||
"width": 300,
|
||||
"encoding": {
|
||||
"x": {"field": "a", "title": "aoesuthaosth", "type": "nominal", "axis": {"labelAngle": 0}},
|
||||
"y": {"field": "b", "type": "quantitative"}
|
||||
}
|
||||
}
|
||||
{{ < /vega-lite > }}
|
||||
```
|
||||
|
||||
Результат:
|
||||
{{< vega-lite id="unique-vis-id-1" >}}
|
||||
{
|
||||
"$schema": "https://vega.github.io/schema/vega-lite/v5.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",
|
||||
"width": 300,
|
||||
"encoding": {
|
||||
"x": {"field": "a", "title": "aoesuthaosth", "type": "nominal", "axis": {"labelAngle": 0}},
|
||||
"y": {"field": "b", "type": "quantitative"}
|
||||
}
|
||||
}
|
||||
{{< /vega-lite >}}
|
||||
|
||||
|
||||
{{< vega-lite id="entso-e" dataUrl="https://github.com/olehomelchenko/ua-entso-e-transfers/raw/main/output.json">}}
|
||||
{
|
||||
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
|
||||
"description": "Daily import and export visualization",
|
||||
"data": {
|
||||
"url": "https://github.com/olehomelchenko/ua-entso-e-transfers/raw/main/output.json"
|
||||
},
|
||||
"transform": [
|
||||
{ "calculate": "0-datum.Export_from_UA", "as": "Export" },
|
||||
{ "calculate": "datum.Import_to_UA", "as": "Import" }
|
||||
],
|
||||
"width": 800,
|
||||
"layer": [
|
||||
{
|
||||
"mark": "bar",
|
||||
"encoding": {
|
||||
"x": { "field": "Date", "type": "temporal", "title": "Date", "timeUnit": "yearmonthdate" },
|
||||
"y": { "field": "Import", "type": "quantitative", "title": "MW", "aggregate": "sum" },
|
||||
"color": { "value": "blue" },
|
||||
"tooltip": [
|
||||
{ "field": "Date", "type": "temporal", "title": "Date", "timeUnit": "yearmonthdate" },
|
||||
{ "field": "Import", "type": "quantitative", "title": "Import to UA (MW)", "aggregate": "sum" }
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"mark": "bar",
|
||||
"encoding": {
|
||||
"x": { "field": "Date", "type": "temporal" , "timeUnit": "yearmonthdate"},
|
||||
"y": { "field": "Export", "type": "quantitative", "aggregate": "sum" },
|
||||
"color": { "value": "red" },
|
||||
"tooltip": [
|
||||
{ "field": "Date", "type": "temporal", "title": "Date", "timeUnit": "yearmonthdate" },
|
||||
{ "field": "Export", "type": "quantitative", "title": "Export from UA (MW)", "aggregate": "sum" }
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
{{< /vega-lite >}}
|
||||
0
content/til/_index.md
Normal file
0
content/til/_index.md
Normal file
@@ -1,10 +0,0 @@
|
||||
---
|
||||
title: Блоги та Ресурси з візуалізації даних
|
||||
date: 2024-07-20
|
||||
draft: false
|
||||
---
|
||||
|
||||
* https://datatowel.in.ua/ - демографія, економіка, електоральна географія України
|
||||
* https://texty.org.ua/projects/ - журналістика даних українською
|
||||
* https://observablehq.com/@ndrhzn - сторінка Андрія Газіна на Observable
|
||||
*
|
||||
12
content/til/obsidian-paperless.md
Normal file
12
content/til/obsidian-paperless.md
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
title: 'Obsidian Paperless'
|
||||
date: 2024-07-28T02:03:30+03:00
|
||||
draft: false
|
||||
---
|
||||
|
||||
Серія блогів
|
||||
|
||||
https://jamierubin.net/blog-series/practically-paperless-with-obsidian/
|
||||
|
||||
|
||||
Obsidian для воркфлоу наукових досліджень: https://medium.com/@alexandraphelan/an-updated-academic-workflow-zotero-obsidian-cffef080addd
|
||||
@@ -8,7 +8,7 @@ taxonomies:
|
||||
language: languages
|
||||
|
||||
params:
|
||||
disableThemeToggle: true
|
||||
disableThemeToggle: false
|
||||
env: production
|
||||
author: Олег Омельченко
|
||||
|
||||
|
||||
@@ -18,6 +18,10 @@
|
||||
<script src="https://cdn.jsdelivr.net/npm/vega-embed@6"></script>
|
||||
{{ end }}
|
||||
<style>
|
||||
.vega-container {
|
||||
justify-content: center;
|
||||
display: flex;
|
||||
}
|
||||
.vega-embed {
|
||||
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1), 0 6px 20px rgba(0, 0, 0, 0.19);
|
||||
margin: 10px;
|
||||
|
||||
@@ -1,9 +1,16 @@
|
||||
<!-- Create a unique ID for the div where the Vega-Lite visualization will be rendered -->
|
||||
<div class="vegaVis" id="{{ .Get "id" | default "vega-lite-vis" }}"></div>
|
||||
<div class="vega-container">
|
||||
<div class="vegaVis" id="{{ .Get "id" | default "vega-lite-vis" }}"></div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const spec = {{ .Inner | safeJS }};
|
||||
spec['width'] = {{ .Get "width" | default 700}};
|
||||
spec['height'] = {{ .Get "height" | default 300}};
|
||||
vegaEmbed('#{{ .Get "id" | default "vega-lite-vis" }}', spec, {"actions": false}).catch(console.error);
|
||||
(function() {
|
||||
|
||||
let spec = {{ .Inner | safeJS }};
|
||||
let actions = {{ .Get "actions" | default false}};
|
||||
spec['width'] = spec['width']? spec['width'] : {{ .Get "width" | default 700}};
|
||||
spec['height'] = spec['height']? spec['height'] : {{ .Get "height" | default 300}};
|
||||
vegaEmbed('#{{ .Get "id" | default "vega-lite-vis" }}', spec, {"actions": actions}).catch(console.error);
|
||||
})();
|
||||
|
||||
</script>
|
||||
|
||||
Submodule themes/PaperMod updated: 9ea3bb0e1f...3e53621007
Reference in New Issue
Block a user