diff --git a/digiplan/map/calculations.py b/digiplan/map/calculations.py index 29cc7208..884c8c62 100644 --- a/digiplan/map/calculations.py +++ b/digiplan/map/calculations.py @@ -304,34 +304,6 @@ def heat_demand_per_municipality_2045(user_settings: dict) -> pd.DataFrame: return demand.iloc[:] * shares -def ghg_reduction(simulation_id: int) -> pd.Series: - """ - Calculate data for GHG reduction chart from simulation ID. - - Parameters - ---------- - simulation_id: int - Simulation ID to calculate results from - - Returns - ------- - pandas.Series - holding data for GHG reduction chart - """ - renewables = renewable_electricity_production(simulation_id).sum() - - results = get_results( - simulation_id, - { - "electricity_production": electricity_production, - }, - ) - electricity_import = results["electricity_production"].loc[["ABW-electricity-import"]] - electricity_import.index = electricity_import.index.get_level_values(0) - electricity_import["ABW-renewables"] = renewables - return electricity_import * 1e-3 - - def electricity_from_from_biomass(simulation_id: int) -> pd.Series: """ Calculate electricity from biomass. diff --git a/digiplan/map/charts.py b/digiplan/map/charts.py index bf140ffd..ffe61ede 100644 --- a/digiplan/map/charts.py +++ b/digiplan/map/charts.py @@ -147,24 +147,6 @@ def render(self) -> dict: # noqa: D102 return self.chart_options -class GHGReductionChart(SimulationChart): - """GHG Reduction Chart. Shows greenhouse gas emissions.""" - - lookup = "ghg_reduction" - - def get_chart_data(self): # noqa: D102, ANN201 - return calculations.get_reduction(simulation_id=self.simulation_id) - - def render(self) -> dict: # noqa: D102 - # Enter import and energy from renewables - for i, item in enumerate(self.chart_options["series"][7:9]): - item["data"][1] = self.chart_data[i] - # Calculate emission offset - summed_emissions_2019 = sum(item["data"][0] for item in self.chart_options["series"][:7]) - self.chart_options["series"][0]["data"][1] = summed_emissions_2019 - sum(self.chart_data) - return self.chart_options - - class ElectricityOverviewChart(SimulationChart): """Chart for electricity overview.""" @@ -285,23 +267,6 @@ def get_chart_data(self): # noqa: D102, ANN201 return calculations.heat_overview(simulation_id=self.simulation_id, distribution="decentral") -class GhgHistoryChart(SimulationChart): - """GHG history chart.""" - - lookup = "ghg_history" - - def get_chart_data(self): # noqa: D102, ANN201 - # TODO(Hendrik): Get static data from digipipe datapackage # noqa: TD003 - return pd.DataFrame() - - def render(self) -> dict: # noqa: D102 - for item in self.chart_options["series"]: - profile = config.SIMULATION_NAME_MAPPING[item["name"]] - item["data"][1] = self.chart_data[profile] - - return self.chart_options - - class PopulationRegionChart(Chart): """Chart for regional population.""" @@ -976,7 +941,6 @@ def get_chart_options(self) -> dict: CHARTS: dict[str, Union[type[PreResultsChart], type[SimulationChart]]] = { "detailed_overview": DetailedOverviewChart, - "ghg_reduction": GHGReductionChart, "electricity_overview": ElectricityOverviewChart, "electricity_autarky": ElectricityAutarkyChart, "heat_decentralized": HeatStructureDecentralChart, diff --git a/digiplan/map/charts/electricity_autarky.json b/digiplan/map/charts/electricity_autarky.json index 2d5d75fc..618e789d 100644 --- a/digiplan/map/charts/electricity_autarky.json +++ b/digiplan/map/charts/electricity_autarky.json @@ -1,8 +1,4 @@ { - "brush": { - "toolbox": ["rect", "polygon", "lineX", "lineY", "keep", "clear"], - "xAxisIndex": 0 - }, "grid": { "bottom": "25%" }, @@ -20,7 +16,7 @@ }, "yAxis": { "type": "category", - "data": ["Dein Szenario", "2022"], + "data": ["Dein Szenario", "2023"], "axisTick": { "show": false } diff --git a/digiplan/map/charts/electricity_overview.json b/digiplan/map/charts/electricity_overview.json index a7508169..cdb574db 100644 --- a/digiplan/map/charts/electricity_overview.json +++ b/digiplan/map/charts/electricity_overview.json @@ -1,17 +1,4 @@ { - "brush": { - "toolbox": ["rect", "polygon", "lineX", "lineY", "keep", "clear"], - "xAxisIndex": 0 - }, - "toolbox": { - "feature": { - "magicType": { - "type": ["stack"] - }, - "dataView": {} - } - }, - "tooltip": {}, "grid": { "top": "10%", "left": "3%", @@ -20,7 +7,7 @@ "containLabel": true }, "yAxis": { - "data": ["Ziel 2045", "Dein Szenario", "2022"], + "data": ["Ziel Brandenburg 2040", "Ziel Brandenburg 2030", "Dein Szenario", "2023"], "axisLine": { "onZero": true }, "splitLine": { "show": false }, "splitArea": { "show": false } @@ -49,7 +36,7 @@ "shadowColor": "rgba(0,0,0,0.3)" } }, - "data": [0, 0, 0] + "data": [0, 0, 0, 0] }, { "name": "Freiflächen-PV", @@ -62,7 +49,7 @@ "shadowColor": "rgba(0,0,0,0.3)" } }, - "data": [0, 0, 0] + "data": [0, 0, 0, 0] }, { "name": "Aufdach-PV", @@ -75,7 +62,7 @@ "shadowColor": "rgba(0,0,0,0.3)" } }, - "data": [0, 0, 0] + "data": [0, 0, 0, 0] }, { "name": "Bioenergie", @@ -88,7 +75,7 @@ "shadowColor": "rgba(0,0,0,0.3)" } }, - "data": [0, 0, 0] + "data": [0, 0, 0, 0] }, { "name": "Wasserkraft", @@ -102,7 +89,7 @@ "shadowColor": "rgba(0,0,0,0.3)" } }, - "data": [0, 0, 0] + "data": [0, 0, 0, 0] }, { "name": "Verbrauch Haushalte", @@ -116,7 +103,7 @@ "shadowColor": "rgba(0,0,0,0.3)" } }, - "data": [0, 0, 0] + "data": [0, 0, 0, 0] }, { "name": "Verbrauch GHD", @@ -129,7 +116,7 @@ "shadowColor": "rgba(0,0,0,0.3)" } }, - "data": [0, 0, 0] + "data": [0, 0, 0, 0] }, { "name": "Verbrauch Industrie", @@ -143,7 +130,7 @@ "shadowColor": "rgba(0,0,0,0.3)" } }, - "data": [0, 0, 0] + "data": [0, 0, 0, 0] }, { "name": "Import*", @@ -157,7 +144,7 @@ "shadowColor": "rgba(0,0,0,0.3)" } }, - "data": [0, 0, 0] + "data": [0, 0, 0, 0] }, { "name": "Export*", @@ -171,7 +158,7 @@ "shadowColor": "rgba(0,0,0,0.3)" } }, - "data": [0, 0, 0] + "data": [0, 0, 0, 0] } ] } diff --git a/digiplan/map/charts/ghg_history.json b/digiplan/map/charts/ghg_history.json deleted file mode 100644 index 125aa95f..00000000 --- a/digiplan/map/charts/ghg_history.json +++ /dev/null @@ -1,302 +0,0 @@ -{ - "legend": { - "show": true, - "bottom": "-5" - }, - "tooltip": { - "trigger": "item", - "formatter": "{a}: {c} kt CO₂-Äq." - }, - "yAxis": { - "name": "kt CO₂-Äq." - }, - "xAxis": [ - { - "inverse": false, - "splitLine": { - "show": true - }, - "axisTick": { - "length": 0, - "lineStyle": { - "color": "#ccc" - } - }, - "axisLine": { - "lineStyle": { - "color": "#ccc" - } - }, - "data": [ - "-", - "-" - ] - }, - { - "name": "", - "nameLocation": "start", - "nameTextStyle": { - "fontWeight": "bold" - }, - "position": "bottom", - "offset": 60, - "axisLine": { - "onZero": false, - "show": false - }, - "axisTick": { - "length": 30, - "inside": true, - "lineStyle": { - "color": "#ccc" - } - }, - "axisLabel": { - "inside": true, - "fontWeight": "bold" - }, - "inverse": false, - "data": [ - "1990", - "2019" - ] - }, - { - "name": "", - "nameLocation": "start", - "nameTextStyle": { - "fontWeight": "bold" - }, - "position": "bottom", - "offset": 30, - "axisLine": { - "onZero": false, - "show": false - }, - "axisTick": { - "length": 30, - "inside": true, - "lineStyle": { - "color": "#ccc" - } - }, - "axisLabel": { - "inside": true - }, - "inverse": false, - "data": [ - "Sachsen-Anhalt", - "ABW", - "Sachsen-Anhalt", - "ABW" - ] - } - ], - "series": [ - { - "name": "Energiewirtschaft", - "stack": "st", - "type": "bar", - "color": "#E6772E", - "barWidth":"30", - "barGap": "250%", - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data": [ - 15680, - 11571 - ] - }, - { - "name": "Industrie", - "stack": "st", - "type": "bar", - "color": "#FA9FB5", - "barWidth":"30", - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data": [ - 20519, - 9011 - ] - }, - { - "name": "Verkehr", - "stack": "st", - "type": "bar", - "color": "#6C567B", - "barWidth":"30", - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data": [ - 3779, - 4007 - ] - }, - { - "name": "Gebäude", - "stack": "st", - "type": "bar", - "color": "#A8DADC", - "barWidth":"30", - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data": [ - 13943, - 3983 - ] - }, - { - "name": "Landwirtschaft", - "stack": "st", - "type": "bar", - "color": "#87D068", - "barWidth":"30", - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data": [ - 3275, - 2113 - ] - }, - { - "name": "Abfall und Sonst.", - "stack": "st", - "type": "bar", - "color": "#F5F5DC", - "barWidth":"30", - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data": [ - 1458, - 947 - ] - }, - { - "name": "Energiewirtschaft", - "stack": "abw", - "type": "bar", - "color": "#E6772E", - "barWidth":"30", - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data": [ - 930, - 538 - ] - }, - { - "name": "Industrie", - "stack": "abw", - "type": "bar", - "color": "#FA9FB5", - "barWidth":"30", - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data": [ - 4848, - 2129 - ] - }, - { - "name": "Verkehr", - "stack": "abw", - "type": "bar", - "color": "#6C567B", - "barWidth":"30", - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data": [ - 698, - 672 - ] - }, - { - "name": "Gebäude", - "stack": "abw", - "type": "bar", - "color": "#A8DADC", - "barWidth":"30", - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data": [ - 2434, - 695 - ] - }, - { - "name": "Landwirtschaft", - "type": "bar", - "stack": "abw", - "color": "#87D068", - "barWidth":"30", - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data": [ - 501, - 368 - ] - }, - { - "name": "Abfall und Sonst.", - "type": "bar", - "stack": "abw", - "color": "#F5F5DC", - "barWidth":"30", - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data": [ - 262, - 157 - ] - } - ] -} diff --git a/digiplan/map/charts/ghg_overview.json b/digiplan/map/charts/ghg_overview.json deleted file mode 100644 index 1d201e95..00000000 --- a/digiplan/map/charts/ghg_overview.json +++ /dev/null @@ -1,112 +0,0 @@ -{ - "grid": { - "bottom": "20%" - }, - "backgroundColor": "#FFFFFF", - "yAxis": { - "show": true, - "type": "category", - "data": ["Ziel", "Szenario", "Status Quo", "1990"], - "nameTextStyle": "Roboto", - "fontWeight": "400", - "fontSize": "14" - }, - "xAxis": { - "type": "value", - "show": true, - "position": "bottom", - "name": "Mt CO₂-Emissionen", - "nameLocation": "end", - "nameTextStyle": "Roboto", - "width": "76", - "heigth": "32", - "fontWeight": "300", - "fontSize": "14" - }, - "series": [ - { - "name": "Sockel", - "type": "bar", - "barWidth": "16", - "stack": "total", - "color": "#D8E2E7", - "label": { - "show": false - }, - "emphasis": { - "focus": "series" - }, - "data": [20, 20, 20, 20] - }, - { - "name": "GHD", - "type": "bar", - "barWidth": "25", - "stack": "total", - "color": "#98C1D7", - "label": { - "show": false - }, - "emphasis": { - "focus": "series" - }, - "data": [15, 17, 20, 25] - }, - { - "name": "Haushalte", - "type": "bar", - "barWidth": "25", - "stack": "total", - "color": "#6F9BB2", - "label": { - "show": false - }, - "emphasis": { - "focus": "series" - }, - "data": [12, 15, 30, 34] - }, - { - "name": "Industrie", - "type": "bar", - "barWidth": "25", - "stack": "total", - "color": "#376984", - "label": { - "show": false - }, - "emphasis": { - "focus": "series" - }, - "data": [20, 20, 31, 34] - }, - { - "name": "XXX", - "type": "bar", - "barWidth": "25", - "stack": "total", - "color": "#0D425F", - "label": { - "show": false - }, - "emphasis": { - "focus": "series" - }, - "data": [5, 12, 15, 24] - }, - { - "name": "XXX", - "type": "bar", - "barWidth": "25", - "stack": "total", - "color": "#072130", - "label": { - "show": false - }, - "emphasis": { - "focus": "series" - }, - "data": [15, 20, 30, 34] - } - ] -} diff --git a/digiplan/map/charts/ghg_reduction.json b/digiplan/map/charts/ghg_reduction.json deleted file mode 100644 index 05e8915d..00000000 --- a/digiplan/map/charts/ghg_reduction.json +++ /dev/null @@ -1,437 +0,0 @@ -{ - "backgroundColor":"#FFFFFF", - "fontStyle":"Roboto", - "fontSize":"14", - "tooltip": {"trigger": "item"}, - "legend":{ - "show":true, - "bottom":"0" - }, - "grid":{ - "top":"10%", - "left":"3%", - "right":"15%", - "bottom":"15%", - "containLabel":true - }, - "xAxis":{ - "type":"category", - "splitLine":{ - "show":false - }, - "data":[ - "Emissionen 2019", - "Reduktion", - "2045" - ] - }, - "yAxis":{ - "type":"value", - "name": "kt CO₂-Äq." - }, - "series":[ - { - "name":"", - "type":"bar", - "stack":"Total", - "itemStyle":{ - "borderColor":"transparent", - "color":"transparent" - }, - "emphasis":{ - "itemStyle":{ - "borderColor":"transparent", - "color":"transparent" - } - }, - "data":[ - 0, - 3057, - 0 - ] - }, - { - "name":"Energiewirtschaft", - "type":"bar", - "barWidth":"30", - "stack":"Total", - "color":"#E6772E", - "label":{ - "show":false, - "position":"inside" - }, - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data":[ - 538, - 0, - 0 - ] - }, - { - "name":"Industrie", - "type":"bar", - "barWidth":"30", - "stack":"Total", - "color":"#FA9FB5", - "label":{ - "show":false, - "position":"inside" - }, - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data":[ - 2129, - 0, - 0 - ] - }, - { - "name":"Verkehr", - "type":"bar", - "barWidth":"30", - "stack":"Total", - "color":"#6C567B", - "label":{ - "show":false, - "position":"inside" - }, - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data":[ - 672, - 0, - 0 - ] - }, - { - "name":"Gebäude", - "type":"bar", - "barWidth":"30", - "stack":"Total", - "color":"#A8DADC", - "label":{ - "show":false, - "position":"inside" - }, - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data":[ - 695, - 0, - 0 - ] - }, - { - "name":"Landwirtschaft", - "type":"bar", - "barWidth":"30", - "stack":"Total", - "color":"#87D068", - "label":{ - "show":false, - "position":"inside" - }, - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data":[ - 368, - 0, - 0 - ] - }, - { - "name":"Abfall und Sonst.", - "type":"bar", - "barWidth":"30", - "color":"#F5F5DC", - "stack":"Total", - "label":{ - "show":false, - "position":"inside" - }, - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data":[ - 157, - 0, - 0 - ] - }, - { - "name":"Importe", - "type":"bar", - "barWidth":"30", - "stack":"Total", - "stackStrategy": "all", - "color":"#D9B38C", - "label":{ - "show":false, - "position":"inside", - "color":"#666" - }, - "legend":false, - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data":[ - 0, - 500, - 0 - ] - }, - { - "name":"Regionale Stromerzeugung", - "type":"bar", - "barWidth":"30", - "stack":"Total", - "stackStrategy": "all", - "color":"#48BF91", - "label":{ - "show":false, - "position":"inside", - "color":"#666" - }, - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data":[ - 0, - 1000, - 0 - ] - }, - { - "name":{ - "name":"Referenzlinie" - }, - "type":"line", - "polyline":true, - "symbol":"none", - "symbolSize":"0", - "symbolRotate":"-90", - "lineStyle":{ - "type":"dashed" - }, - "color":"#808B96", - "label":{ - "show":false - }, - "data":[ - 4557, - 4557, - 4557 - ] - }, - { - "name":"", - "type":"lines", - "coordinateSystem":"cartesian2d", - "emphasis":{ - "label":{ - "show":false - } - }, - "polyline":false, - "symbol":[ - "none", - "triangle" - ], - "symbolSize":[ - 60, - 60 - ], - "z":1, - "lineStyle":{ - "color":"#ccc", - "width":30, - "opacity":0.15, - "type":"solid" - }, - "data":[ - { - "coords":[ - [ - 0, - 4557 - ], - [ - 2, - 200 - ] - ] - } - ] - }, - { - "name":"", - "type":"lines", - "coordinateSystem":"cartesian2d", - "emphasis":{ - "label":{ - "show":false - } - }, - "polyline":false, - "symbol":[ - "none", - "triangle" - ], - "symbolSize":[ - 30, - 30 - ], - "lineStyle":{ - "color":"#ccc", - "width":16, - "opacity":1, - "type":"solid" - }, - "data":[ - { - "coords":[ - [ - 1, - 2000 - ], - [ - 1, - 1000 - ] - ] - } - ] - } - ], - "graphic":[ - { - "type":"group", - "left":"40%", - "top":"3%", - "children":[ - - { - "type":"text", - "z":100, - "left":"center", - "top":"middle", - "style":{ - "fill":"#333", - "width":150, - "overflow":"break", - "text":"Reduktion durch Einsparung und", - "font":"14px Roboto" - } - } - ] - }, - { - "type":"group", - "left":"60%", - "top":"22%", - "children":[ - { - "type":"rect", - "z":100, - "left":"center", - "top":"middle", - "shape":{ - "width":160, - "height":35 - }, - "style":{ - "fill":"#48BF91", - "stroke":"#555", - "lineWidth":0, - "shadowBlur":8, - "shadowOffsetX":3, - "shadowOffsetY":3, - "shadowColor":"rgba(0,0,0,0.2)" - } - }, - { - "type":"text", - "z":100, - "left":"center", - "top":"middle", - "style":{ - "fill":"#fff", - "width":160, - "overflow":"break", - "text":"Regionale Stromerzeugung", - "font":"14px Roboto" - } - } - ] - }, - { - "type":"group", - "left":"60%", - "top":"32%", - "children":[ - { - "type":"rect", - "z":100, - "left":"center", - "top":"middle", - "shape":{ - "width":160, - "height":35 - }, - "style":{ - "fill":"#D9B38C", - "stroke":"#555", - "lineWidth":0, - "shadowBlur":8, - "shadowOffsetX":3, - "shadowOffsetY":3, - "shadowColor":"rgba(0,0,0,0.2)" - } - }, - { - "type":"text", - "z":100, - "left":"center", - "top":"middle", - "style":{ - "fill":"#fff", - "width":160, - "overflow":"break", - "text":"Importe", - "font":"14px Roboto" - } - } - ] - } - ] -} diff --git a/digiplan/map/charts/pv_ground_areas.json b/digiplan/map/charts/pv_ground_areas.json new file mode 100644 index 00000000..39e74806 --- /dev/null +++ b/digiplan/map/charts/pv_ground_areas.json @@ -0,0 +1,74 @@ +{ + "tooltip": { + "trigger": "axis", + "axisPointer": { + "type": "shadow" + } + }, + "legend": { + "data": ["Fläche (ha)", "% der Regionsfläche"] + }, + "grid": { + "top": "10%", + "left": "3%", + "right": "3%", + "bottom": "10%", + "containLabel": true + }, + "xAxis": { + "type": "category", + "data": ["Klassische PV", "Agri-PV\n(vertikal)", "Agri-PV\n(Dauerkulturen)"] + }, + "yAxis": [ + { + "type": "value", + "max": 6000, + "axisLabel": { + "formatter": "{value} ha" + } + }, + { + "type": "value", + "max": 3, + "axisLabel": { + "formatter": "{value} %" + } + } + ], + "series": [ + { + "name": "Fläche (ha)", + "type": "bar", + "label": { + "show": true, + "position": "inside", + "rotate": 90, + "color": "#333" + }, + "color": "#efad25", + "data": [ + 2084, + 2603, + 377 + ], + "yAxisIndex": 0 + }, + { + "name": "% der Regionsfläche", + "type": "bar", + "label": { + "show": true, + "position": "inside", + "rotate": 90, + "color": "#333" + }, + "color": "#ffd660", + "data": [ + 0.5, + 0.6, + 0.1 + ], + "yAxisIndex": 1 + } + ] +} diff --git a/digiplan/map/charts/pv_ground_capacity.json b/digiplan/map/charts/pv_ground_capacity.json new file mode 100644 index 00000000..5ca16be6 --- /dev/null +++ b/digiplan/map/charts/pv_ground_capacity.json @@ -0,0 +1,112 @@ +{ + "tooltip": { + "trigger": "axis", + "axisPointer": { + "type": "shadow" + } + }, + "legend": { + "data": ["Leistung", "Anlagenanzahl"] + }, + "grid": { + "top": "10%", + "left": "3%", + "right": "3%", + "bottom": "10%", + "containLabel": true + }, + "xAxis": { + "type": "category", + "data": ["2010", "2015", "2020", "2023", "Dein\nSzenario**"] + }, + "yAxis": [ + { + "type": "value", + "max": 3000, + "axisLabel": { + "formatter": "{value} MW" + } + }, + { + "type": "value", + "max": 300, + "name": "Anzahl" + } + ], + "series": [ + { + "name": "Leistung", + "type": "bar", + "label": { + "show": true, + "position": "inside", + "rotate": 90, + "color": "#333" + }, + "color": "#efad25", + "data": [ + 1, + 296, + 376, + 762, + { + "value": 2000, + "itemStyle": { + "color": "#FBEEAE" + } + } + ], + "yAxisIndex": 0, + "markLine": { + "symbol": "none", + "lineStyle": { + "color": "#7f5a0f", + "type": "dashed", + "width": 2 + }, + "data": [ + { + "yAxis": 1329, + "label": { + "formatter": "Leistungsziel Brandenburg 2030 *", + "color": "#7f5a0f", + "position": "insideStartTop" + } + }, + { + "yAxis": 2437, + "label": { + "formatter": "Leistungsziel Brandenburg 2040 *", + "color": "#7f5a0f", + "position": "insideStartTop" + } + } + ] + } + }, + { + "name": "Anlagenanzahl", + "type": "bar", + "label": { + "show": true, + "position": "inside", + "rotate": 90, + "color": "#333" + }, + "color": "#ffd660", + "data": [ + 7, + 74, + 123, + 183, + { + "value": 0, + "itemStyle": { + "color": "#FBEEAE" + } + } + ], + "yAxisIndex": 1 + } + ] +} diff --git a/digiplan/map/charts/pv_roof_areas.json b/digiplan/map/charts/pv_roof_areas.json new file mode 100644 index 00000000..29bde432 --- /dev/null +++ b/digiplan/map/charts/pv_roof_areas.json @@ -0,0 +1,70 @@ +{ + "tooltip": { + "trigger": "axis", + "axisPointer": { + "type": "shadow" + } + }, + "legend": { + "data": ["Fläche (ha)", "% des Potenzials"] + }, + "grid": { + "top": "10%", + "left": "3%", + "right": "3%", + "bottom": "10%", + "containLabel": true + }, + "xAxis": { + "type": "category", + "data": ["Dein Szenario"] + }, + "yAxis": [ + { + "type": "value", + "max": 5000, + "axisLabel": { + "formatter": "{value} ha" + } + }, + { + "type": "value", + "max": 100, + "axisLabel": { + "formatter": "{value} %" + } + } + ], + "series": [ + { + "name": "Fläche (ha)", + "type": "bar", + "label": { + "show": true, + "position": "inside", + "rotate": 90, + "color": "#333" + }, + "color": "#efad25", + "data": [ + 1402 + ], + "yAxisIndex": 0 + }, + { + "name": "% des Potenzials", + "type": "bar", + "label": { + "show": true, + "position": "inside", + "rotate": 90, + "color": "#333" + }, + "color": "#ffd660", + "data": [ + 50 + ], + "yAxisIndex": 1 + } + ] +} diff --git a/digiplan/map/charts/pv_roof_capacity.json b/digiplan/map/charts/pv_roof_capacity.json new file mode 100644 index 00000000..59bd808d --- /dev/null +++ b/digiplan/map/charts/pv_roof_capacity.json @@ -0,0 +1,112 @@ +{ + "tooltip": { + "trigger": "axis", + "axisPointer": { + "type": "shadow" + } + }, + "legend": { + "data": ["Leistung", "Anlagenanzahl"] + }, + "grid": { + "top": "10%", + "left": "3%", + "right": "3%", + "bottom": "10%", + "containLabel": true + }, + "xAxis": { + "type": "category", + "data": ["2010", "2015", "2020", "2023", "Dein\nSzenario**"] + }, + "yAxis": [ + { + "type": "value", + "max": 3000, + "axisLabel": { + "formatter": "{value} MW" + } + }, + { + "type": "value", + "max": 30000, + "name": "Anzahl" + } + ], + "series": [ + { + "name": "Leistung", + "type": "bar", + "label": { + "show": true, + "position": "inside", + "rotate": 90, + "color": "#333" + }, + "color": "#efad25", + "data": [ + 43, + 126, + 278, + 374, + { + "value": 1000, + "itemStyle": { + "color": "#FBEEAE" + } + } + ], + "yAxisIndex": 0, + "markLine": { + "symbol": "none", + "lineStyle": { + "color": "#7f5a0f", + "type": "dashed", + "width": 2 + }, + "data": [ + { + "yAxis": 1440, + "label": { + "formatter": "Leistungsziel Brandenburg 2030 *", + "color": "#7f5a0f", + "position": "insideStartTop" + } + }, + { + "yAxis": 2640, + "label": { + "formatter": "Leistungsziel Brandenburg 2040 *", + "color": "#7f5a0f", + "position": "insideStartTop" + } + } + ] + } + }, + { + "name": "Anlagenanzahl", + "type": "bar", + "label": { + "show": true, + "position": "inside", + "rotate": 90, + "color": "#333" + }, + "color": "#ffd660", + "data": [ + 2713, + 5377, + 8106, + 15625, + { + "value": 0, + "itemStyle": { + "color": "#FBEEAE" + } + } + ], + "yAxisIndex": 1 + } + ] +} diff --git a/digiplan/map/charts/wind_areas.json b/digiplan/map/charts/wind_areas.json new file mode 100644 index 00000000..d44e155b --- /dev/null +++ b/digiplan/map/charts/wind_areas.json @@ -0,0 +1,110 @@ +{ + "tooltip": { + "trigger": "axis", + "axisPointer": { + "type": "shadow" + } + }, + "legend": { + "data": ["Fläche (ha)", "% der Regionsfläche"] + }, + "grid": { + "top": "10%", + "left": "3%", + "right": "3%", + "bottom": "10%", + "containLabel": true + }, + "xAxis": { + "type": "category", + "data": ["Regionalplan\n2018", "Entwurf\n2024", "Dein\nSzenario*"] + }, + "yAxis": [ + { + "type": "value", + "max": 12000, + "axisLabel": { + "formatter": "{value} ha" + } + }, + { + "type": "value", + "max": 3, + "axisLabel": { + "formatter": "{value} %" + } + } + ], + "series": [ + { + "name": "Fläche (ha)", + "type": "bar", + "label": { + "show": true, + "position": "inside", + "rotate": 90, + "color": "#fff" + }, + "color": "#6A89CC", + "data": [ + 7391, + 8988, + { + "value": 10000, + "itemStyle": { + "color": "#BAE1F6" + } + } + ], + "yAxisIndex": 0 + }, + { + "name": "% der Regionsfläche", + "type": "bar", + "label": { + "show": true, + "position": "inside", + "rotate": 90, + "color": "#fff" + }, + "color": "#b6caf3", + "data": [ + 1.62, + 1.97, + { + "value": 2, + "itemStyle": { + "color": "#BAE1F6" + } + } + ], + "yAxisIndex": 1, + "markLine": { + "symbol": "none", + "lineStyle": { + "color": "#495e8a", + "type": "dashed", + "width": 2 + }, + "data": [ + { + "yAxis": 1.8, + "label": { + "formatter": "Ziel WindBG 2027", + "color": "#495e8a", + "position": "insideStartTop" + } + }, + { + "yAxis": 2.2, + "label": { + "formatter": "Ziel WindBG 2032", + "color": "#495e8a", + "position": "insideStartTop" + } + } + ] + } + } + ] +} diff --git a/digiplan/map/charts/wind_capacity.json b/digiplan/map/charts/wind_capacity.json new file mode 100644 index 00000000..421780f5 --- /dev/null +++ b/digiplan/map/charts/wind_capacity.json @@ -0,0 +1,112 @@ +{ + "tooltip": { + "trigger": "axis", + "axisPointer": { + "type": "shadow" + } + }, + "legend": { + "data": ["Leistung", "Anlagenanzahl"] + }, + "grid": { + "top": "10%", + "left": "3%", + "right": "3%", + "bottom": "10%", + "containLabel": true + }, + "xAxis": { + "type": "category", + "data": ["2010", "2015", "2020", "2023", "Dein\nSzenario*"] + }, + "yAxis": [ + { + "type": "value", + "max": 2500, + "axisLabel": { + "formatter": "{value} MW" + } + }, + { + "type": "value", + "max": 1500, + "name": "Anzahl" + } + ], + "series": [ + { + "name": "Leistung", + "type": "bar", + "label": { + "show": true, + "position": "inside", + "rotate": 90, + "color": "#fff" + }, + "color": "#6A89CC", + "data": [ + 519, + 601, + 752, + 1070, + { + "value": 2000, + "itemStyle": { + "color": "#BAE1F6" + } + } + ], + "yAxisIndex": 0, + "markLine": { + "symbol": "none", + "lineStyle": { + "color": "#495e8a", + "type": "dashed", + "width": 2 + }, + "data": [ + { + "yAxis": 1769, + "label": { + "formatter": "Leistungsziel Brandenburg 2030", + "color": "#495e8a", + "position": "insideStartTop" + } + }, + { + "yAxis": 2308, + "label": { + "formatter": "Leistungsziel Brandenburg 2040", + "color": "#495e8a", + "position": "insideStartTop" + } + } + ] + } + }, + { + "name": "Anlagenanzahl", + "type": "bar", + "label": { + "show": true, + "position": "inside", + "rotate": 90, + "color": "#fff" + }, + "color": "#b6caf3", + "data": [ + 303, + 340, + 386, + 458, + { + "value": 308, + "itemStyle": { + "color": "#BAE1F6" + } + } + ], + "yAxisIndex": 1 + } + ] +} diff --git a/digiplan/map/views.py b/digiplan/map/views.py index 3bf5c794..c440c69a 100644 --- a/digiplan/map/views.py +++ b/digiplan/map/views.py @@ -86,34 +86,68 @@ def get_context_data(self, **kwargs) -> dict: } context["sources"] = categorized_sources context["store_cold_init"] = config.STORE_COLD_INIT + + context["wind_capacity"] = charts.Chart("wind_capacity").render() + context["wind_areas"] = charts.Chart("wind_areas").render() + context["pv_ground_capacity"] = charts.Chart("pv_ground_capacity").render() + context["pv_ground_areas"] = charts.Chart("pv_ground_areas").render() + context["pv_roof_capacity"] = charts.Chart("pv_roof_capacity").render() + context["pv_roof_areas"] = charts.Chart("pv_roof_areas").render() context["detailed_overview"] = charts.Chart("detailed_overview").render() - context["ghg_overview"] = charts.Chart("ghg_overview").render() context["electricity_overview"] = charts.Chart("electricity_overview").render() context["electricity_autarky"] = charts.Chart("electricity_autarky").render() context["heat_decentralized"] = charts.Chart("heat_decentralized").render() context["heat_centralized"] = charts.Chart("heat_centralized").render() - context["ghg_history"] = charts.Chart("ghg_history").render() - context["ghg_reduction"] = charts.Chart("ghg_reduction").render() context["onboarding_wind"] = charts.Chart("onboarding_wind").render() context["onboarding_pv_ground"] = charts.Chart("onboarding_pv_ground").render() context["onboarding_pv_roof"] = charts.Chart("onboarding_pv_roof").render() # TODO(Hendrik Huyskens): Replace result boxes with results after simulation run # https://github.com/empowerplan/epp-app/issues/34 - context["results_electricity"] = forms.ResultsBox( - "82,8 %", - "des Stroms aus erneuerbaren Quellen in 2040", + context["results_electricity_energy"] = forms.ResultsBox( + "4 TWh", + "Strom werden aus Wind und Photovoltaik erzeugt", + category="electricity", + ) + context["results_electricity_autarky"] = forms.ResultsBox( + "50 %", + "der Zeit wird der Strombedarf komplett aus regionalen erneuerbaren Quellen gedeckt", + category="electricity", + ) + context["results_electricity_area"] = forms.ResultsBox( + "4 %", + "der Regionsfläche werden für Windenergie und Photovoltaik verwendet", category="electricity", ) context["results_heat"] = forms.ResultsBox("50,0 %", "...", category="heat") - context["results_wind"] = forms.ResultsBox( - "42,8 %", - "der Landesfläche für die Windenergienutzung in 2040", + context["results_wind_goal"] = forms.ResultsBox( + "80 %", + "der Brandenburger Ausbauziele 2040 werden erreicht", + category="wind", + ) + context["results_wind_area"] = forms.ResultsBox( + "2,5 %", + "der Regionsfläche werden für die Windenergie verwendet", category="wind", ) - context["results_pv"] = forms.ResultsBox( - "35,8 %", - "des Stroms aus erneuerbaren Quellen in 2040", + context["results_wind_demand_share"] = forms.ResultsBox( + "50 %", + "des Strombedarfs werden durch Windstrom gedeckt", + category="wind", + ) + context["results_pv_goal"] = forms.ResultsBox( + "80 %", + "der Brandenburger Ausbauziele 2040 werden erreicht", + category="pv", + ) + context["results_pv_area"] = forms.ResultsBox( + "1,1 %", + "der Regionsfläche werden für Freiflächen-PV verwendet", + category="pv", + ) + context["results_pv_demand_share"] = forms.ResultsBox( + "30 %", + "des Strombedarfs werden durch PV-Strom gedeckt", category="pv", ) context["results_mobility"] = forms.ResultsBox("22,8 %", "...", category="mobility") diff --git a/digiplan/static/js/charts.js b/digiplan/static/js/charts.js index 3c78e0b1..3165a9e9 100644 --- a/digiplan/static/js/charts.js +++ b/digiplan/static/js/charts.js @@ -1,24 +1,20 @@ // Goals & scenarios, initioalize charts -// const renewable_share_goal_div = document.getElementById("renewable_share_goal_chart"); -// const renewable_share_goal_chart = echarts.init(renewable_share_goal_div); -// const co2_emissions_goal_div = document.getElementById("co2_emissions_goal_chart"); -// const co2_emissions_goal_chart = echarts.init(co2_emissions_goal_div); -// const renewable_share_scenario_div = document.getElementById("renewable_share_scenario_chart"); -// const renewable_share_scenario_chart = echarts.init(renewable_share_scenario_div); -// const co2_emissions_scenario_div = document.getElementById("co2_emissions_scenario_chart"); -// const co2_emissions_scenario_chart = echarts.init(co2_emissions_scenario_div); // Results view, initiliaze charts // const detailed_overview_chart = echarts.init(document.getElementById("detailed_overview_chart")); -// const ghg_overview_chart = echarts.init(document.getElementById("ghg_overview_chart")); +const wind_capacity_chart = echarts.init(document.getElementById("wind_capacity_chart")); +const wind_areas_chart = echarts.init(document.getElementById("wind_areas_chart")); +const pv_ground_capacity_chart = echarts.init(document.getElementById("pv_ground_capacity_chart")); +const pv_ground_areas_chart = echarts.init(document.getElementById("pv_ground_areas_chart")); +const pv_roof_capacity_chart = echarts.init(document.getElementById("pv_roof_capacity_chart")); +const pv_roof_areas_chart = echarts.init(document.getElementById("pv_roof_areas_chart")); + const electricity_overview_chart = echarts.init(document.getElementById("electricity_overview_chart")); const electricity_autarky_chart = echarts.init(document.getElementById("electricity_autarky_chart")); // const mobility_overview_chart = echarts.init(document.getElementById("mobility_overview_chart")); // const mobility_THG_chart = echarts.init(document.getElementById("mobility_THG_chart")); const heat_decentralized_chart = echarts.init(document.getElementById("heat_decentralized_chart")); const heat_centralized_chart = echarts.init(document.getElementById("heat_centralized_chart")); -const ghg_history_chart = echarts.init(document.getElementById("ghg_history_chart")); -const ghg_reduction_chart = echarts.init(document.getElementById("ghg_reduction_chart")); // Onboarding Charts const onboarding_wind_div = document.getElementById("onboarding_wind_chart"); @@ -66,232 +62,23 @@ const chart_legend = { itemHeight: 10 }; -// Goal variables -// const renewable_share_goal_value = 90; -// const co2_emissions_goal_value = 30; - -// CHARTS -const renewable_share_goal = { - grid: chart_grid_goal, - tooltip: chart_tooltip, - textStyle: chart_text_style, - xAxis: { - type: 'category', - data: ['2022', 'Szenario'], - axisTick: { - show: false, - }, - axisLabel: {fontSize: 9}, //, rotate: 20}, - }, - yAxis: { - show: true, - type: 'value', - maxValueSpan: '100' - }, - series: [ - { - type: 'bar', - barWidth: chart_bar_width_sm, - data: [ - { - value: 30, - itemStyle: { - color: '#D8E2E7' - } - }, - { - value: 90, - itemStyle: { - color: '#06DFA7' - } - }, - ], - // markLine: { - // silent: true, - // lineStyle: { - // color: '#06DFA7', - // type: 'solid' - // }, - // symbol: 'none', - // data: [{ - // yAxis: renewable_share_goal_value, - // label: { - // show: false - // } - // }] - // } - }, - ], -}; - -const co2_emissions_goal = { - grid: chart_grid_goal, - tooltip: chart_tooltip, - textStyle: chart_text_style, - legend: chart_legend, - xAxis: { - type: 'category', - data: ['Szenario'], - axisTick: { - show: false - }, - axisLabel: {fontSize: 9}, //, rotate: 20}, - }, - yAxis: { - show: true, - type: 'value', - maxValueSpan: '100' - }, - series: [ - { - type: 'bar', - name: 'Regional', - stack: 'reduc', - color: '#06DFA7', - barWidth: chart_bar_width_sm, - data: [50], - }, - { - type: 'bar', - name: 'Import', - stack: 'reduc', - color: '#E8986B', - barWidth: chart_bar_width_sm, - data: [20], - }, - // markLine: { - // silent: true, - // lineStyle: { - // color: '#E8986B', - // type: 'solid' - // }, - // symbol: 'none', - // data: [{ - // yAxis: co2_emissions_goal_value, - // label: { - // show: false - // } - // }] - // } - ], -}; - -const renewable_share_scenario = { - grid: chart_grid_goal, - tooltip: chart_tooltip, - textStyle: chart_text_style, - xAxis: { - type: 'category', - data: ['2022', 'Szenario'], - axisTick: { - show: false, - }, - axisLabel: {fontSize: 9}, //, rotate: 20}, - }, - yAxis: { - show: true, - type: 'value', - maxValueSpan: '100' - }, - series: [ - { - type: 'bar', - barWidth: chart_bar_width_sm, - data: [ - { - value: 30, - itemStyle: { - color: '#D8E2E7' - } - }, - { - value: 90, - itemStyle: { - color: '#06DFA7' - } - }, - ], - // markLine: { - // silent: true, - // lineStyle: { - // color: '#06DFA7', - // type: 'solid' - // }, - // symbol: 'none', - // data: [{ - // yAxis: renewable_share_goal_value, - // label: { - // show: false - // } - // }] - // } - }, - ], -}; - -const co2_emissions_scenario = { - grid: chart_grid_goal, - tooltip: chart_tooltip, - textStyle: chart_text_style, - legend: chart_legend, - xAxis: { - type: 'category', - data: ['Szenario'], - axisTick: { - show: false - }, - axisLabel: {fontSize: 9}, //, rotate: 20}, - }, - yAxis: { - show: true, - type: 'value', - maxValueSpan: '100' - }, - series: [ - { - type: 'bar', - name: 'Regional', - stack: 'reduc', - color: '#06DFA7', - barWidth: chart_bar_width_sm, - data: [50], - }, - { - type: 'bar', - name: 'Import', - stack: 'reduc', - color: '#E8986B', - barWidth: chart_bar_width_sm, - data: [20], - }, - // markLine: { - // silent: true, - // lineStyle: { - // color: '#E8986B', - // type: 'solid' - // }, - // symbol: 'none', - // data: [{ - // yAxis: co2_emissions_goal_value, - // label: { - // show: false - // } - // }] - // } - ], -}; +// CHARTS -> defined in /map/charts/ // get options for result view charts // const detailed_overview_option = JSON.parse(document.getElementById("detailed_overview").textContent); -// const ghg_overview_option = JSON.parse(document.getElementById("ghg_overview").textContent); +const wind_capacity_option = JSON.parse(document.getElementById("wind_capacity").textContent); +const wind_areas_option = JSON.parse(document.getElementById("wind_areas").textContent); +const pv_ground_capacity_option = JSON.parse(document.getElementById("pv_ground_capacity").textContent); +const pv_ground_areas_option = JSON.parse(document.getElementById("pv_ground_areas").textContent); +const pv_roof_capacity_option = JSON.parse(document.getElementById("pv_roof_capacity").textContent); +const pv_roof_areas_option = JSON.parse(document.getElementById("pv_roof_areas").textContent); + const electricity_overview_option = JSON.parse(document.getElementById("electricity_overview").textContent); const electricity_autarky_option = JSON.parse(document.getElementById("electricity_autarky").textContent); // const mobility_overview_option = JSON.parse(document.getElementById("mobility_overview").textContent); // const mobility_ghg_option = JSON.parse(document.getElementById("mobility_ghg").textContent); const heat_decentralized_option = JSON.parse(document.getElementById("heat_decentralized").textContent); const heat_centralized_option = JSON.parse(document.getElementById("heat_centralized").textContent); -const ghg_history_option = JSON.parse(document.getElementById("ghg_history").textContent); -const ghg_reduction_option = JSON.parse(document.getElementById("ghg_reduction").textContent); // get options for onboarding charts const onboarding_wind_option = JSON.parse(document.getElementById("onboarding_wind").textContent); @@ -300,43 +87,39 @@ const onboarding_pv_roof_option = JSON.parse(document.getElementById("onboarding function resizeCharts() { setTimeout(function () { - // renewable_share_goal_chart.resize(); - // co2_emissions_goal_chart.resize(); - // renewable_share_scenario_chart.resize(); - // co2_emissions_scenario_chart.resize(); // detailed_overview_chart.resize(); - // ghg_overview_chart.resize(); + wind_capacity_chart.resize(); + wind_areas_chart.resize(); + pv_ground_capacity_chart.resize(); + pv_ground_areas_chart.resize(); + pv_roof_capacity_chart.resize(); + pv_roof_areas_chart.resize(); electricity_overview_chart.resize(); electricity_autarky_chart.resize(); // mobility_overview_chart.resize(); // mobility_THG_chart.resize(); heat_decentralized_chart.resize(); heat_centralized_chart.resize(); - ghg_history_chart.resize(); - ghg_reduction_chart.resize(); onboarding_wind_chart.resize(); onboarding_pv_ground_chart.resize(); onboarding_pv_roof_chart.resize(); }, 200); } -// Goals & scenarios, setOptions -// renewable_share_goal_chart.setOption(renewable_share_goal); -// co2_emissions_goal_chart.setOption(co2_emissions_goal); -// renewable_share_scenario_chart.setOption(renewable_share_scenario); -// co2_emissions_scenario_chart.setOption(co2_emissions_scenario); - // Results, setOptions // detailed_overview_chart.setOption(detailed_overview_option); -// ghg_overview_chart.setOption(ghg_overview_option); +wind_capacity_chart.setOption(wind_capacity_option); +wind_areas_chart.setOption(wind_areas_option); +pv_ground_capacity_chart.setOption(pv_ground_capacity_option); +pv_ground_areas_chart.setOption(pv_ground_areas_option); +pv_roof_capacity_chart.setOption(pv_roof_capacity_option); +pv_roof_areas_chart.setOption(pv_roof_areas_option); electricity_overview_chart.setOption(electricity_overview_option); electricity_autarky_chart.setOption(electricity_autarky_option); // mobility_overview_chart.setOption(mobility_overview_option); // mobility_THG_chart.setOption(mobility_ghg_option); heat_decentralized_chart.setOption(heat_decentralized_option); heat_centralized_chart.setOption(heat_centralized_option); -ghg_history_chart.setOption(ghg_history_option); -ghg_reduction_chart.setOption(ghg_reduction_option); // onboarding Charts onboarding_wind_chart.setOption(onboarding_wind_option); diff --git a/digiplan/static/js/results.js b/digiplan/static/js/results.js index 6975f927..dcf2825c 100644 --- a/digiplan/static/js/results.js +++ b/digiplan/static/js/results.js @@ -20,11 +20,12 @@ const PRE_RESULTS = [ ]; const resultCharts = { - electricity_overview: "electricity_overview_chart", - electricity_autarky: "electricity_autarky_chart", - ghg_reduction: "ghg_reduction_chart", - heat_centralized: "heat_centralized_chart", - heat_decentralized: "heat_decentralized_chart", + "wind_capacity": "wind_capacity_chart", + "wind_areas": "wind_areas_chart", + "pv_ground_capacity": "pv_ground_capacity_chart", + "pv_ground_areas": "pv_ground_areas_chart", + "pv_roof_capacity": "pv_roof_capacity_chart", + "pv_roof_areas": "pv_roof_areas_chart", }; // Setup diff --git a/digiplan/templates/components/panel_2_today.html b/digiplan/templates/components/panel_2_today.html index 580b3483..dd79a558 100644 --- a/digiplan/templates/components/panel_2_today.html +++ b/digiplan/templates/components/panel_2_today.html @@ -1,28 +1,5 @@ {% load static i18n %} - - - - - - - - - - - - - - - - - - - - - - -