Jump to content

File:Photovoltaics Installed Capacity and Production in Turkey.svg

Page contents not supported in other languages.
This is a file from the Wikimedia Commons
From Wikipedia, the free encyclopedia

Original file (SVG file, nominally 614 × 461 pixels, file size: 27 KB)

Render this image in .
This image should always reflect the most recent version. Feel free to update it when needed.

Note: 
To do this, add current data to the source code and execute the Python program. This creates a (local) SVG file that can be uploaded to Commons.

Summary

Description
Deutsch: Photovoltaik in der Türkei , installierte Leistung und Erzeugung. Datenquelle ist die französische Wikipedia mit den dort angegebenen Referenzen. Énergie_solaire_en_Turquie
English: Photovoltaics Installed Capacity and Production in Turkey. You find the Python code to regenerate this SVG below. Please update the data in the future ! Data from Énergie_solaire_en_Turquie
Date
Source Own work
Author MTheiler
SVG development
InfoField
 
The SVG code is valid.
 
This plot was created with Matplotlib.
Source code
InfoField

Python code

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

# Photovoltaics Installed Capacity and Production in Turkey
# data from https://fr.wikipedia.org/wiki/Énergie_solaire_en_Turquie
# multilingual

data=[
# show_X, year,  installed MW , production GWh
['x',2014 ,   40 , 17 ] ,
[' ',2015 ,  248 ,194 ] ,
[' ',2016 ,  832 ,1043 ] ,
['x',2017 , 3400 ,2889 ] ,
[' ',2018 , 5000 ,7800 ] ,
[' ',2019 , 5900 ,9250 ] ,
['x',2020 , 6900 ,10950 ] ,
[' ',2021 , 7900 ,13942 ] ,
[' ',2022 , 9500 ,15226 ] ,
['x',2023 ,11292 ,20500 ] 
]
# 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="Photovoltaics_Installed_Capacity_and_Production_in_Turkey.svg"

labels = {'title': {"en":"Photovoltaics in Turkey",
                    "de":"Solarenergie in der Türkei",
                    "es":"Energía solar en Turquía",
                    "fr":"Énergie solaire en Turquie"},
          "installed": {"en":"installed capacity (MW)  ",
                        "de":"installierte Leistung (MW)",
                        "es":"capacidad instalada (MW)",
                        "fr":"Puissance installée (MW)"},
          "generation": {"en":"generation (GWh)",
                        "de":"erzeugt (GWh)",
                        "es":"producción de energía (GWh)",
                        "fr":"Production d'électricité (GWh)"}
            }

width =0.3
ax1.bar(np.arange(len(data_installed))- width/2,  data_installed, color='orange', width=width)
ax2.bar([0], [0],  width=width, color='orange', label=labels["installed"]["en"]  )
ax2.bar(np.arange(len(data_generated))+ width/2, data_generated, width=width, color='maroon', 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_solaire_en_Turquie", 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.


Licensing

I, the copyright holder of this work, hereby publish it under the following license:
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 4.0 International license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.

Captions

Photovoltaics Installed Capacity and Production in Turkey

Items portrayed in this file

depicts

28 January 2025

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current20:34, 11 February 2025Thumbnail for version as of 20:34, 11 February 2025614 × 461 (27 KB)MTheilerupdate multilingual de, fr, en, es
11:54, 29 January 2025Thumbnail for version as of 11:54, 29 January 2025614 × 461 (47 KB)MTheilercite added to diagram
14:48, 28 January 2025Thumbnail for version as of 14:48, 28 January 2025614 × 461 (40 KB)MTheilerUploaded own work with UploadWizard

The following page uses this file:

Global file usage

The following other wikis use this file:

Metadata