Zum Inhalt springen

Datei:Wind power installed capacity and generation in Italy.svg

Seiteninhalte werden in anderen Sprachen nicht unterstützt.
Zur Beschreibungsseite auf Commons
aus Wikipedia, der freien Enzyklopädie

Originaldatei (SVG-Datei, Basisgröße: 614 × 461 Pixel, Dateigröße: 33 KB)

Dieses Bild in rendern.

Diese Datei und die Informationen unter dem roten Trennstrich werden aus dem zentralen Medienarchiv Wikimedia Commons eingebunden.

Zur Beschreibungsseite auf Commons


Beschreibung

Beschreibung
Deutsch: Windenergie in Italien
English: This plot shows a Bar Chart of the installed Wind power capacity and generation in Italy. You find the Python code to regenerate this SVG below. Please update the data in the future ! Data from Wind_power_in_Italy and Énergie_éolienne_en_Italie
Datum
Quelle Eigenes Werk
Urheber MTheiler
SVG‑Erstellung
InfoField
 
Der SVG-Code ist valide.
 
Dieser Plot wurde mit Matplotlib erstellt.
Quelltext
InfoField

Python code

Source code
from copy import deepcopy
from lxml import etree
import matplotlib.pyplot as plt
import numpy as np

# Wind power installed capacity and generation in Italy
# multilingual
# data installed from  https://en.wikipedia.org/wiki/Wind_power_in_Italy
# data production from https://fr.wikipedia.org/wiki/Énergie_éolienne_en_Italie

data=[
# show_X, year, installed (MW), Production (GWh)
['x',2005 , 1639 , 2344 ] , 
[' ',2006 , 1908 , 2971 ] ,
[' ',2007 , 2714 , 4034 ] ,
[' ',2008 , 3538 , 4861 ] ,
[' ',2009 , 4898 , 6543 ] ,
['x',2010 , 5814 , 9126 ] ,
[' ',2011 , 6936 , 9856 ] ,
[' ',2012 , 8144 ,13407 ] ,
[' ',2013 , 8552 ,14897 ] ,
[' ',2014 , 8703 ,15178 ] ,
['x',2015 , 9126 ,14844 ] ,
[' ',2016 , 9388 ,17689 ] ,
[' ',2017 , 9780 ,17742 ] ,
[' ',2018 ,10310 ,17716 ] ,
[' ',2019 ,10760 ,20202 ] ,
['x',2020 ,10907 ,18761 ] ,
[' ',2021 ,11320 ,20927 ] ,
[' ',2022 ,11850 ,20558 ] ,
['x',2023 ,12340 ,23400 ]
]
# please update in future.

show_yesno = np.array([row[0] for row in data])
all_years  = np.array([row[1] for row in data])
bar_labels = []

# show axis-labels only the years marked with 'x'
for i, yesNo in enumerate(show_yesno):
    if (yesNo == 'x'):
        bar_labels.append(all_years[i])
    else:
        bar_labels.append("")
        
data_installed      = np.array([row[2] for row in data])  # installed
data_generated      = np.array([row[3] for row in data])  # generated

fig = plt.figure()
ax1 = plt.gca()
ax2 = ax1.twinx()

plt.xticks(range(len(bar_labels)), bar_labels  )

plt.rcParams.update({'text.usetex':False, "svg.fonttype":"none", "font.size":13})

filename = "Wind_power_installed_capacity_and_generation_in_Italy.svg"

delta= "  "+ str(min(all_years)) + "-" + str(max(all_years))

labels = {'title': {"en":"Wind power in Italy " + delta,
                    "de":"Windenergie in Italien" + delta,
                    "fr":"Énergie éolienne en Italie" + delta,
                    "it":"Energia eolica in Italia" + delta,
                    "es":"Energía eólica en Italia" + delta},
          "installed": {"en":"installed capacity (MW)",
                        "de":"installierte Leistung (MW)",
                        "es":"capacidad instalada (MW)",
                        "it":"Capacità installata (MW)",
                        "fr":"Puissance installée (MW)"},
          "generation": {"en":"generation (GWh)             ",
                         "de":"erzeugt (GWh)",
                         "es":"producción (GWh)",
                         "it":"Produzione (GWh)",
                         "fr":"Production (GWh)"}
            }

width =0.3
ax1.bar(np.arange(len(data_installed))- width/2,  data_installed, width=width)
ax2.bar([0], [0],  width=width, label=labels["installed"]["en"]  )
ax2.bar(np.arange(len(data_generated))+ width/2, data_generated, width=width, color='red', label=labels["generation"]["en"])

plt.title(labels["title"]["en"])
ax1.set_ylabel(labels["installed"]["en"])
ax2.set_ylabel(labels["generation"]["en"])

ax1.set_xlabel("Source: https://fr.wikipedia.org/wiki/Énergie_éolienne_en_Italie \n+ https://en.wikipedia.org/wiki/Wind_power_in_Italy ", fontsize='xx-small')

plt.legend(loc='upper left', borderaxespad=1.5)
plt.tight_layout()

plt.savefig(filename)
#plt.show()

# create multilingual labels with the svg switch element
with open(filename, mode="r",encoding='utf-8') as svgfile:
    svg = etree.parse(svgfile, etree.XMLParser()).getroot()
for label, values in labels.items():
    for el in svg.findall(".//{" + svg.nsmap[None] + "}text"):
        if el.text == values["en"]:
            switch = etree.SubElement(el.getparent(), "switch")
            for lang, text in values.items():
                el2 = deepcopy(el)
                el2.set("systemLanguage", lang)
                el2.text = text
                switch.append(el2)
            switch.append(el)
with open(filename, mode='w', encoding='utf-8') as svgfile:
    svgfile.write(etree.tostring(svg, pretty_print=True, encoding="unicode"))
Click at right to show/hide Durchführung eines Updates (Deutsch)

Dieses Chart wurde mit der Progammiersprache Python und der Bibliothek Matplotlib erstellt. Das dargestellte Diagramm ist mehrsprachig; die Beschriftungen des Diagramms werden abhängig von der Sprache des Wikis angezeigt. Diese Mehrsprachigkeit ist mit Hilfe des SVG switch-Elementes realisiert. Es sind folgende Motivationen für ein Update denkbar: (a) Übersetzung in eine weitere Sprache. (b) Fortschreibung der Daten für weitere Jahre. Hierzu ist jeweils im Python-Programmcode die entsprechende Erweiterung vorzunehmen.

Durchführung des Updates

(1) Den Python-Programmcode dieses Diagrammes kopieren und lokal in einer Datei mit der Endung .py speichern. Falls lokal diese Programmiersprache installiert ist, dann läßt sich dieses Programm mit dem Befehl: python <lokaler dateiname>.py ausführen. Bei der Ausführung wird lokal eine neue .svg Datei erzeugt.

(2) Fortschreibung der im Programmcode enthaltenen Daten, z.B. für das nächste Jahr. Dies kann in einem Texteditor wie z.B. Geany oder in einer IDE wie z.B. Thonny geschehen.

(3) Ausführung des Python-Programmes und hierdurch Erzeugung des SVG-Bildes. Dieses SVG-Bild ist lokal darstellbar.

(4) Upload des SVGs nach Commons

(5) Update des erweiterten Sourcecodes auf Commons.

Wenn auf dem eigenen Rechner die Programmiersprache Python nicht zur Verfügung steht, dann können die Schritte (2) und (3) auch auf wikimedia/PAWS durchgeführt werden.


Click at right to show/hide How to do an Update (English)

This chart was created with the programming language Python and the library Matplotlib. The displayed diagram is multilingual; the labels of the diagram are displayed depending on the language of the wiki. This multilingualism is realized with the help of the SVG switch element. The following motivations for an update are conceivable: (a) Translation into another language. (b) Updating the data for further years. For this purpose, the corresponding extension must be made in the Python program code.

Performing the update

(1) Copy the Python program code of this diagram and save it locally in a file with the extension .py. If this programming language is installed locally, this program can be executed with the command: python <local filename>.py. A new .svg file is created locally during execution.

(2) Update the data contained in the program code, e.g. for the next year. This can be done in a text editor such as Geany or in an IDE such as Thonny.

(3) Execution of the Python program and thereby generation of the SVG image. This SVG image can be displayed locally.

(4) Upload the SVG to Commons

(5) Update the extended source code on Commons.

If the Python programming language is not available on your own computer, then steps (2) and (3) can also be carried out on wikimedia/PAWS.


Lizenz

Ich, der Urheber dieses Werkes, veröffentliche es unter der folgenden Lizenz:
w:de:Creative Commons
Namensnennung Weitergabe unter gleichen Bedingungen
Dieses Werk darf von dir
  • verbreitet werden – vervielfältigt, verbreitet und öffentlich zugänglich gemacht werden
  • neu zusammengestellt werden – abgewandelt und bearbeitet werden
Zu den folgenden Bedingungen:
  • Namensnennung – Du musst angemessene Urheber- und Rechteangaben machen, einen Link zur Lizenz beifügen und angeben, ob Änderungen vorgenommen wurden. Diese Angaben dürfen in jeder angemessenen Art und Weise gemacht werden, allerdings nicht so, dass der Eindruck entsteht, der Lizenzgeber unterstütze gerade dich oder deine Nutzung besonders.
  • Weitergabe unter gleichen Bedingungen – Wenn du das Material wiedermischst, transformierst oder darauf aufbaust, musst du deine Beiträge unter der gleichen oder einer kompatiblen Lizenz wie das Original verbreiten.

Kurzbeschreibungen

Windenergie in Italien

In dieser Datei abgebildete Objekte

Motiv

image/svg+xml

Dateiversionen

Klicke auf einen Zeitpunkt, um diese Version zu laden.

Version vomVorschaubildMaßeBenutzerKommentar
aktuell11:48, 14. Feb. 2025Vorschaubild der Version vom 11:48, 14. Feb. 2025614 × 461 (33 KB)MTheilerminor improvement
15:02, 13. Feb. 2025Vorschaubild der Version vom 15:02, 13. Feb. 2025614 × 461 (33 KB)MTheilerUploaded own work with UploadWizard

Die folgende Seite verwendet diese Datei:

Globale Dateiverwendung

Die nachfolgenden anderen Wikis verwenden diese Datei:

Metadaten