Herzlich Willkommen zum Mitglieder-Wiki von Wikimedia Österreich.
Für ein Benutzerkonto schreibe bitte an verein [at] wikimedia.at
Mitglieder:Lua/Modul/Graph/de
expandTemplate: template "Wikipedia:Lua/Modul-Navigationsfehler" does not exist
Modul mit Hilfsfunktionen für die Graph-Erweiterung.
Funktionen für Vorlagen
map
Erstellt ein JSON-Objekt für <graph>
zur Darstellung einer politischen Karte mit farbigen Markierungen. Im Artikelnamensraum sollte die Vorlage {{Graph:Map}} genutzt werden. Siehe dort auch für Anwendungsbeispiele.
Karten finden sich unter Spezial:Präfixindex/Modul:Graph/ (beispielsweise WorldMap-iso2.json mit allen Staatsgrenzen) und weitere sollten, daher ebenfalls unter Modul:Graph/ angelegt werden.
Parameter:
- basemap: gibt an, welche Basiskarte verwendet werden soll. Die Kartendefinition muss im TopoJSON-Format erfolgen, dann auf Wikipedia abgelegt werden, wo sie fortan zur Verfügung für dieses Modul steht. Karten im Standardverzeichnis Spezial:Präfixindex/Modul:Graph/ wie WorldMap-iso2.json sollten nur mit ihrem Namen referenziert und der Präfix „Modul:Graph/“ der Portierbarkeit wegen weggelassen werden. Daneben werden auch URLs akzeptiert, z. B. wenn Karten von anderen Wikipedia-Sprachversionen genutzt werden sollen (die Angabe sollte hierbei als
//en.wikipedia.org/w/index.php?title=Mapname&action=raw
erfolgen, d. h. protokollrelativ ohne http/s am Anfang und mit action=raw, um ausschließlich den Seiteninhalt zuzurückzugeben). URLs auf Karten von externen Websites sollten aus Gründen der Stabilität, Performanz und Sicherheit nicht genutzt werden bzw. würden von der Software oder dem Browser vermutlich geblockt werden. - scale: Skalierungsfaktor der Karte (Standard: 100)
- projection: Methode der Kartenprojektion. Mögliche Werte dafür siehe unter https://github.com/mbostock/d3/wiki/Geo-Projections. Der Standardwert ist
equirectangular
für eine Rektangularprojektion (Plattkarte). - IDs der geografischen Objekte: Diese Parameter hängen von der genutzten Basiskarte ab. In der vorher genannten Beispielkarte sind dies zweistellige ISO-Ländercodes (bei dieser ist jedoch zu beachten, dass für Gebiete, die nicht von der ISO-3166-1 abgedeckt sind, folgende IDs zu verwenden sind: "KOSOVO", "NORTHERN_CYPRUS", "SOMALILAND"). Der Wert kann entweder eine Farbangabe sein oder eine Zahl, falls den einzelnen geografischen Objekten Daten zugeordnet werden sollen:
DE=lightblue
würde auf der Karte Deutschland hellblau färben,DE=80.6
würde Deutschland den Wert 80.6 (hier die Bevölkerungszahl in Millionen) zuordnen. Die konkrete Färbung ergibt sich dann aus den folgenden Parametern.- colorScale: zu verwendende Farbpalette. Das Format ist eine kommagetrennte Liste von Farbwerten. Die Farbwerte müssen entweder im Format
#rgb
/#rrggbb
oder mit einem CSS-Farbnamen erfolgen. Statt einer Liste können auch die eingebauten Farbpaletten category10 und category20 genutzt werden. - scaleType: mögliche Werte
linear
für eine lineare Abbildung zwischen den Datenwerten und der Farbskala,log
für eine logarithmische,pow
für eine exponentielle (der Exponent kann dahintergesetzt werden, z. B.pow 0.5
),sqrt
undquantize
für eine quantisierte Skala, d. h. die Werte werden in so viele Klassen eingeteilt, wie die Palette Farben hat, und diese dann genutzt. - domainMin: Skalenminimum, d. h. Datenwerte unter dem Minimum werden diesem zugeordnet
- domainMax: Skalenmaximum, d. h. Datenwerte über dem Maximum werden diesem zugeordnet
- legend: Farblegende anzeigen (funktioniert nicht bei
quantize
)
- colorScale: zu verwendende Farbpalette. Das Format ist eine kommagetrennte Liste von Farbwerten. Die Farbwerte müssen entweder im Format
- defaultValue: Standardwert für unmarkierte geografische Objekte. Wenn die Datenwerte Farben sind, ist der Standandwert
silver
, bei Zahlen 0. - formatjson: JSON-Objekt für bessere Lesbarkeit formatieren
chart
Erstellt ein JSON-Objekt für <graph>
zur Darstellung von Diagrammen. Im Artikelnamensraum sollte die Vorlage {{Graph:Chart}} genutzt werden. Siehe dort auch für Anwendungsbeispiele.
Parameter:
- width: Breite des Diagramms
- height: Höhe des Diagramms
- type: Diagrammtyp:
line
für Liniendiagramme,area
für Flächendiagramme,rect
für Säulendiagramme undpie
für Kreisdiagramme (Tortendiagramme). Mit dem Präfixstacked
(z. B.stackedarea
) können mehrere Serien gestapelt werden. - interpolate: Interpolations-Methode für Linien- und Flächendiagramme. Empfohlen ist
monotone
– weitere Werte lassen sich https://github.com/vega/vega/wiki/Marks#area entnehmen. - colors: Farbpalette des Diagramms als kommagetrennte Liste von Farbwerten. Farbwerte werden im Format
#rgb
/#rrggbb
/#aarrggbb
oder mit einem CSS-Farbnamen angegeben. Bei#aarrggbb
bezeichnetaa
den Alphakanal, d. h. FF=100% Deckkraft, 80=50% Deckkraft/halbdurchsichtig, usw. (Die Standardpalette ist category10.) - xAxisTitle und yAxisTitle: Beschriftung der X- und Y-Achse
- xAxisMin, xAxisMax, yAxisMin und yAxisMax: ändert den Start- und Endwert der X- bzw. Y-Achse
- xAxisFormat und yAxisFormat: ändert die Formatierungen der Achsenbezeichnungen. Um beispielsweise Prozentzahlen auszugeben kann das Format
%
genutzt werden (https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#numbers für Zahlen und https://github.com/d3/d3-3.x-api-reference/blob/master/Time-Formatting.md für Zeitangaben). - xAxisAngle: Dreht die x-Achsenbezeichnungen um den angegebenen Winkel. Sinnvolle Werte sind: -45, +45, -90, +90
- xType und yType: Datentypen der Werte, z. B.
integer
für Ganzzahlen,number
für reelle Zahlen,date
für Datumsangaben (z. B. im FormatJJJJ/MM/TT
) undstring
für beliebige Ordinalwerte. - x: X-Werte als kommagetrennte Liste
- y bzw. y1, y2, …: Y-Werte von einer bzw. mehreren Datenreihen. Bei Kreisdiagrammen gibt
y2
die Radien der entsprechenden Kreisstücke an. - legend: Legende mit angegebenen Legendentitel anzeigen (funktioniert nur bei mehreren Datenreihen)
- y1Title, y2Title, …: Bezeichnung der jeweiligen Datenreihe in der Legende
- linewidth: Liniendicke bei Liniendiagrammen bzw. Abstand zwischen den Kreisstücken bei Kreisdiagrammen
- showValues: gibt die Y-Werte zusätzlich als Text aus. (Wird momentan nur von (nicht gestapelten) Säulen- und Kreisdiagrammen unterstützt.) Die Ausgabe kann über folgende Parameter konfiguriert werden die angegeben werden als
Name1:Wert1, Name2:Wert2
:- format: formatiert die Werteausgabe gemäß https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#numbers für Zahlen und https://github.com/d3/d3-3.x-api-reference/blob/master/Time-Formatting.md für Zeitangaben
- fontcolor: Textfarbe
- fontsize: Textgröße
- offset: verschiebt den Text gemäß dem angegebenen Offset. Bei Säulen- und Kreisdiagramme (mit
midangle
-Winkelwert) gibt dies auch an, ob der Text inner- oder außerhalb der Diagrammgrafiken geschrieben wird. - angle (nur Kreisdiagramme): Winkel in Grad oder
midangle
(Standard) für dynamischen Winkel basierend auf dem Winkel des Kreisstücks.
- innerRadius: innerer Radius, um aus einem Kreisdiagramm ein Ringdiagramm zu erzeugen.
- formatjson: JSON-Objekt für bessere Lesbarkeit formatieren
Vorlagenwrapper
Die Funktionen mapWrapper
und chartWrapper
dienen lediglich dazu, alle Parameter einer aufrufenden Vorlage an die entsprechenden Funktionen map
und chart
durchzureichen, so dass die Vorlage selbst keine Parameterzuordnung vornehmen muss.
Hinweis: In der Vorschau erzeugt die Graph-Funktion ein Canvas-Element mit einer Vektorgrafik. Beim Abspeichern wird daraus jedoch eine PNG-Datei erzeugt.