add visualization for ENTSO-E energy transfers to and from Ukraine

This commit is contained in:
2025-01-29 00:28:53 +02:00
parent 9359c2b676
commit 14b705c835
2 changed files with 749 additions and 0 deletions

View File

@@ -0,0 +1,326 @@
---
title: Візуалізація руху електроенергії з та в Україну за даними ENTSO-E
date: 2024-07-21T20:20:24+03:00
draft: true
load_vega: true
---
{{< vega-lite id="entso-e-bar" dataUrl="https://github.com/olehomelchenko/ua-entso-e-transfers/raw/main/output.json">}}
{
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
"data": {
"url": "https://raw.githubusercontent.com/olehomelchenko/ua-entso-e-transfers/main/output_daily.json"
},
"width": 600,
"height": 400,
"title": "За даними ENTSO-E",
"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"
},
},
"selection": {
"categoryFilter": {
"type": "single",
"fields": [
"Country"
],
"bind": {
"input": "select",
"name": "Вибір країни",
"options": [
null,
"Hungary",
"Moldova",
"Poland",
"Romania",
"Slovakia"
]
}
}
},
"transform": [
{
"calculate": "datum.Export_from_UA * -1",
"as": "export_neg"
},
{
"calculate": "datum.Export_from_UA - datum.Import_from_UA",
"as": "balance"
},
{
"filter": {
"selection": "categoryFilter"
}
}
],
"mark": {
"type": "bar",
"tooltip": true
},
"encoding": {
"x": {
"timeUnit": "yearmonthdate",
"field": "Date",
"type": "temporal",
"title": "Month of the year"
},
"y": {
"aggregate": "sum",
"field": "Import_to_UA",
"type": "quantitative",
"title": "Import/Export, mW"
},
"y2": {
"field": "export_neg"
},
"color": {
"field": "Country",
"type": "nominal"
}
}
}
{{< /vega-lite >}}
{{< vega-lite id="entso-e-dynamics" dataUrl="https://github.com/olehomelchenko/ua-entso-e-transfers/raw/main/output.json">}}
{
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
"data": {
"url": "https://raw.githubusercontent.com/olehomelchenko/ua-entso-e-transfers/main/output.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"
},
},
"transform": [
{
"calculate": "substring(datum.Time, 0, 2)",
"as": "Hour"
},
{
"calculate": "substring(datum.Country, 0, 3)",
"as": "cntr"
},
{
"calculate": "datum.Export_from_UA * -1",
"as": "export_neg"
},
],
"vconcat": [
{
"hconcat": [
{
"title": "Avg. Transfer to/from Ukraine by Hour",
"transform": [
{
"filter": {
"param": "brush"
}
},
],
"mark": "area",
"encoding": {
"x": {
"field": "Hour",
"type": "ordinal",
"axis": {
"title": ""
}
},
"y": {
"field": "Import_to_UA",
"type": "quantitative",
"aggregate": "average",
"title": "Transfer, MW",
"scale": {
"domain": [
-200,
500
]
}
},
"y2": {
"field": "export_neg",
"aggregate": "average"
}
}
},
{"transform": [
{
"filter": {
"param": "brush"
}
},
],
"title": ["Share of Import ","by Country"],
"encoding": {
"theta": {
"field": "Import_to_UA",
"type": "quantitative",
"aggregate": "sum",
"stack": true
},
"color": {
"field": "Country",
"type": "nominal",
"legend": null
}
},
"layer": [
{
"mark": {
"type": "arc",
"tooltip": true,
"outerRadius": 60
}
},
{
"mark": {
"type": "text",
"radius": 80
},
"encoding": {
"text": {
"field": "cntr",
"type": "nominal"
}
}
}
]
}
]
},
{
"width": 480,
"height": 60,
"mark": "area",
"params": [
{
"name": "brush",
"select": {
"type": "interval",
"encodings": [
"x"
]
}
}
],
"encoding": {
"x": {
"field": "Date",
"type": "temporal"
},
"y": {
"field": "Import_to_UA",
"type": "quantitative",
"aggregate": "sum",
"axis": {
"tickCount": 3,
"grid": false
}
}
}
}
]
}
{{< /vega-lite >}}

423
vega.vl.json Normal file
View File

@@ -0,0 +1,423 @@
{
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
"description": "Interval (variable-width) bar chart",
"width": 800,
"data": {
"values": [
{
"date": "2024-12-16",
"days": "7",
"discount": "",
"liter_daily": "4.250",
"liters": "29.75",
"prev_date": "2024-12-09",
"sum": "1,725.20",
"uah_daily": "246.46",
"uah_per_liter": "57.99"
},
{
"date": "2024-12-09",
"days": "21",
"discount": "",
"liter_daily": "1.429",
"liters": "30",
"prev_date": "2024-11-18",
"sum": "1,739.70",
"uah_daily": "82.84",
"uah_per_liter": "57.99"
},
{
"date": "2024-11-18",
"days": "19",
"discount": "",
"liter_daily": "2.106",
"liters": "40.01",
"prev_date": "2024-10-30",
"sum": "2,320.18",
"uah_daily": "122.11",
"uah_per_liter": "57.99"
},
{
"date": "2024-10-30",
"days": "17",
"discount": "",
"liter_daily": "1.706",
"liters": "29",
"prev_date": "2024-10-13",
"sum": "1,681.71",
"uah_daily": "98.92",
"uah_per_liter": "57.99"
},
{
"date": "2024-10-13",
"days": "20",
"discount": "",
"liter_daily": "1.570",
"liters": "31.39",
"prev_date": "2024-09-23",
"sum": "1,883.09",
"uah_daily": "94.15",
"uah_per_liter": "59.99"
},
{
"date": "2024-09-23",
"days": "19",
"discount": "",
"liter_daily": "1.211",
"liters": "23",
"prev_date": "2024-09-04",
"sum": "1,379.77",
"uah_daily": "72.62",
"uah_per_liter": "59.99"
},
{
"date": "2024-09-04",
"days": "12",
"discount": "",
"liter_daily": "2.348",
"liters": "28.17",
"prev_date": "2024-08-23",
"sum": "1,689.92",
"uah_daily": "140.83",
"uah_per_liter": "59.99"
},
{
"date": "2024-08-23",
"days": "11",
"discount": "",
"liter_daily": "2.531",
"liters": "27.84",
"prev_date": "2024-08-12",
"sum": "1,670.12",
"uah_daily": "151.83",
"uah_per_liter": "59.99"
},
{
"date": "2024-08-12",
"days": "9",
"discount": "",
"liter_daily": "2.452",
"liters": "22.07",
"prev_date": "2024-08-03",
"sum": "1,323.98",
"uah_daily": "147.11",
"uah_per_liter": "59.99"
},
{
"date": "2024-08-03",
"days": "6",
"discount": "",
"liter_daily": "4.347",
"liters": "26.08",
"prev_date": "2024-07-28",
"sum": "1,564.54",
"uah_daily": "260.76",
"uah_per_liter": "59.99"
},
{
"date": "2024-07-28",
"days": "10",
"discount": "",
"liter_daily": "2.300",
"liters": "23",
"prev_date": "2024-07-18",
"sum": "1,379.77",
"uah_daily": "137.98",
"uah_per_liter": "59.99"
},
{
"date": "2024-07-18",
"days": "18",
"discount": "",
"liter_daily": "1.396",
"liters": "25.13",
"prev_date": "2024-06-30",
"sum": "1,507.55",
"uah_daily": "83.75",
"uah_per_liter": "59.99"
},
{
"date": "2024-06-30",
"days": "13",
"discount": "",
"liter_daily": "2.077",
"liters": "27",
"prev_date": "2024-06-17",
"sum": "1,619.73",
"uah_daily": "124.59",
"uah_per_liter": "59.99"
},
{
"date": "2024-06-17",
"days": "11",
"discount": "",
"liter_daily": "2.319",
"liters": "25.51",
"prev_date": "2024-06-06",
"sum": "1,530.34",
"uah_daily": "139.12",
"uah_per_liter": "59.99"
},
{
"date": "2024-06-06",
"days": "11",
"discount": "",
"liter_daily": "2.500",
"liters": "27.5",
"prev_date": "2024-05-26",
"sum": "1,649.73",
"uah_daily": "149.98",
"uah_per_liter": "59.99"
},
{
"date": "2024-05-26",
"days": "13",
"discount": "",
"liter_daily": "1.924",
"liters": "25.01",
"prev_date": "2024-05-13",
"sum": "1,500.35",
"uah_daily": "115.41",
"uah_per_liter": "59.99"
},
{
"date": "2024-05-13",
"days": "14",
"discount": "",
"liter_daily": "1.953",
"liters": "27.34",
"prev_date": "2024-04-29",
"sum": "1,640.13",
"uah_daily": "117.15",
"uah_per_liter": "59.99"
},
{
"date": "2024-04-29",
"days": "10",
"discount": "",
"liter_daily": "1.664",
"liters": "16.64",
"prev_date": "2024-04-19",
"sum": "981.59",
"uah_daily": "98.16",
"uah_per_liter": "58.99"
},
{
"date": "2024-04-19",
"days": "11",
"discount": "",
"liter_daily": "1.826",
"liters": "20.09",
"prev_date": "2024-04-08",
"sum": "1,165.02",
"uah_daily": "105.91",
"uah_per_liter": "57.99"
},
{
"date": "2024-04-08",
"days": "8",
"discount": "",
"liter_daily": "2.119",
"liters": "16.95",
"prev_date": "2024-03-31",
"sum": "974.46",
"uah_daily": "121.81",
"uah_per_liter": "57.49"
},
{
"date": "2024-03-31",
"days": "13",
"discount": "",
"liter_daily": "1.605",
"liters": "20.86",
"prev_date": "2024-03-18",
"sum": "1,199.24",
"uah_daily": "92.25",
"uah_per_liter": "57.49"
},
{
"date": "2024-03-18",
"days": "13",
"discount": "",
"liter_daily": "2.188",
"liters": "28.44",
"prev_date": "2024-03-05",
"sum": "1,620.80",
"uah_daily": "124.68",
"uah_per_liter": "56.99"
},
{
"date": "2024-03-05",
"days": "6",
"discount": "",
"liter_daily": "3.425",
"liters": "20.55",
"prev_date": "2024-02-28",
"sum": "1,130.04",
"uah_daily": "188.34",
"uah_per_liter": "54.99"
},
{
"date": "2024-02-28",
"days": "14",
"discount": "-30",
"liter_daily": "1.429",
"liters": "20",
"prev_date": "2024-02-14",
"sum": "1,099.80",
"uah_daily": "78.56",
"uah_per_liter": "54.99"
},
{
"date": "2024-02-14",
"days": "14",
"discount": "",
"liter_daily": "1.441",
"liters": "20.17",
"prev_date": "2024-01-31",
"sum": "1,109.15",
"uah_daily": "79.23",
"uah_per_liter": "54.99"
},
{
"date": "2024-01-31",
"days": "18",
"discount": "",
"liter_daily": "1.258",
"liters": "22.65",
"prev_date": "2024-01-13",
"sum": "1,245.52",
"uah_daily": "69.20",
"uah_per_liter": "54.99"
},
{
"date": "2024-01-13",
"days": "14",
"discount": "",
"liter_daily": "1.768",
"liters": "24.75",
"prev_date": "2023-12-30",
"sum": "1,361.00",
"uah_daily": "97.21",
"uah_per_liter": "54.99"
},
{
"date": "2023-12-30",
"days": "17",
"discount": "",
"liter_daily": "1.176",
"liters": "20",
"prev_date": "2023-12-13",
"sum": "1,099.80",
"uah_daily": "64.69",
"uah_per_liter": "54.99"
},
{
"date": "2023-12-13",
"days": "13",
"discount": "",
"liter_daily": "1.897",
"liters": "24.66",
"prev_date": "2023-11-30",
"sum": "1,380.71",
"uah_daily": "106.21",
"uah_per_liter": "55.99"
},
{
"date": "2023-11-30",
"days": "14",
"discount": "",
"liter_daily": "2.754",
"liters": "38.55",
"prev_date": "2023-11-16",
"sum": "2,235.51",
"uah_daily": "159.68",
"uah_per_liter": "57.99"
},
{
"date": "2023-11-16",
"days": "16",
"discount": "",
"liter_daily": "1.798",
"liters": "28.76",
"prev_date": "2023-10-31",
"sum": "1,667.79",
"uah_daily": "104.24",
"uah_per_liter": "57.99"
},
{
"date": "2023-10-31",
"days": "32",
"discount": "",
"liter_daily": "0.933",
"liters": "29.85",
"prev_date": "2023-09-29",
"sum": "1,731.00",
"uah_daily": "54.09",
"uah_per_liter": "57.99"
},
{
"date": "2023-09-29",
"days": "16",
"discount": "",
"liter_daily": "1.536",
"liters": "24.58",
"prev_date": "2023-09-13",
"sum": "1,425.39",
"uah_daily": "89.09",
"uah_per_liter": "57.99"
},
{
"date": "2023-09-13",
"days": "4",
"discount": "",
"liter_daily": "6.903",
"liters": "27.61",
"prev_date": "2023-09-09",
"sum": "1,545.88",
"uah_daily": "386.47",
"uah_per_liter": "55.99"
},
{
"date": "2023-09-09",
"days": "31",
"discount": "",
"liter_daily": "1.162",
"liters": "36.03",
"prev_date": "2023-08-09",
"sum": "1,981.29",
"uah_daily": "63.91",
"uah_per_liter": "54.99"
}
]
},
"resolve": {"scale": {"y": "independent"}},
"transform": [
{
"calculate": "0",
"as": "baseline"
},
{"fold": ["uah_daily", "liter_daily"], "as": ["metric", "value"]}
],
"mark": {"type": "bar", "tooltip": true},
"encoding": {
"x": {
"field": "prev_date",
"type": "temporal",
"title": "Interval Start"
},
"x2": {
"field": "date"
},
"y": {"field": "baseline", "type": "quantitative"},
"y2": {
"field": "value",
"type": "quantitative"
},
"row": {
"field": "metric",
"type": "nominal",
"title": "Metric"
}
}
}