ÖsterreichWiki:Lua/Modul/Graph/de: Unterschied zwischen den Versionen

K
veraltete Tags <tt>→<code> oder <span>
Keine Bearbeitungszusammenfassung
K (veraltete Tags <tt>→<code> oder <span>)
Zeile 5: Zeile 5:


== Funktionen für Vorlagen ==
== Funktionen für Vorlagen ==
=== <tt>map</tt> ===
=== <span style="font-family:monospace; font-size:1.3em;">map</span> ===
Erstellt ein JSON-Objekt für <tt><nowiki><graph></nowiki></tt> zur Darstellung einer politischen Karte mit farbigen Markierungen. Im Artikelnamensraum sollte die Vorlage {{Vorlage|Graph:Map}} genutzt werden. Siehe dort auch für Anwendungsbeispiele.
Erstellt ein JSON-Objekt für <code><nowiki><graph></nowiki></code> zur Darstellung einer politischen Karte mit farbigen Markierungen. Im Artikelnamensraum sollte die Vorlage {{Vorlage|Graph:Map}} genutzt werden. Siehe dort auch für Anwendungsbeispiele.


Karten finden sich unter [[Spezial:Präfixindex/Modul:Graph/]] (beispielsweise [[Modul:Graph/WorldMap-iso2.json|WorldMap-iso2.json]] mit allen Staatsgrenzen) und weitere sollten, daher ebenfalls unter Modul:Graph/ angelegt werden.
Karten finden sich unter [[Spezial:Präfixindex/Modul:Graph/]] (beispielsweise [[Modul:Graph/WorldMap-iso2.json|WorldMap-iso2.json]] mit allen Staatsgrenzen) und weitere sollten, daher ebenfalls unter Modul:Graph/ angelegt werden.
Zeile 12: Zeile 12:
'''Parameter:'''
'''Parameter:'''
}}{{#ifeq:{{{1|map}}}|map|
}}{{#ifeq:{{{1|map}}}|map|
* '''basemap:''' gibt an, welche Basiskarte verwendet werden soll. Die Kartendefinition muss im [https://github.com/mbostock/topojson/wiki 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 [[Modul:Graph/WorldMap-iso2.json|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.&nbsp;B. wenn Karten von anderen Wikipedia-Sprachversionen genutzt werden sollen (die Angabe sollte hierbei als <tt>//en.wikipedia.org/w/index.php?title=''Mapname''&action=raw</tt> erfolgen, d.&nbsp;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.
* '''basemap:''' gibt an, welche Basiskarte verwendet werden soll. Die Kartendefinition muss im [https://github.com/mbostock/topojson/wiki 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 [[Modul:Graph/WorldMap-iso2.json|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.&nbsp;B. wenn Karten von anderen Wikipedia-Sprachversionen genutzt werden sollen (die Angabe sollte hierbei als <code>//en.wikipedia.org/w/index.php?title=''Mapname''&action=raw</code> erfolgen, d.&nbsp;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)
* '''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 <tt>equirectangular</tt> für eine [[Rektangularprojektion]] (Plattkarte).
* '''projection:''' Methode der [[Kartenprojektion]]. Mögliche Werte dafür siehe unter https://github.com/mbostock/d3/wiki/Geo-Projections. Der Standardwert ist <code>equirectangular</code> 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ändercode]]s. Der Wert kann entweder eine Farbangabe sein oder eine Zahl, falls den einzelnen geografischen Objekten Daten zugeordnet werden sollen: <tt>DE=lightblue</tt> würde auf der Karte Deutschland hellblau färben, <tt>DE=80.6</tt> 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.
* IDs der geografischen Objekte: Diese Parameter hängen von der genutzten Basiskarte ab. In der vorher genannten Beispielkarte sind dies zweistellige [[ISO-Ländercode]]s. Der Wert kann entweder eine Farbangabe sein oder eine Zahl, falls den einzelnen geografischen Objekten Daten zugeordnet werden sollen: <code>DE=lightblue</code> würde auf der Karte Deutschland hellblau färben, <code>DE=80.6</code> 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 <tt>#rgb</tt>/<tt>#rrggbb</tt> oder mit einem [[Webfarbe#Benannte Farben|CSS-Farbnamen]] erfolgen. Statt einer Liste können auch die eingebauten Farbpaletten [https://github.com/mbostock/d3/wiki/Ordinal-Scales#categorical-colors <tt>category10</tt> und <tt>category20</tt>] genutzt werden.
** '''colorScale:''' zu verwendende Farbpalette. Das Format ist eine kommagetrennte Liste von Farbwerten. Die Farbwerte müssen entweder im Format <code>#rgb</code>/<code>#rrggbb</code> oder mit einem [[Webfarbe#Benannte Farben|CSS-Farbnamen]] erfolgen. Statt einer Liste können auch die eingebauten Farbpaletten [https://github.com/mbostock/d3/wiki/Ordinal-Scales#categorical-colors <span style="font-family:monospace; font-size:1.3em;">category10</span> und <span style="font-family:monospace; font-size:1.3em;">category20</span>] genutzt werden.
** '''scaleType:''' mögliche Werte <tt>linear</tt> für eine lineare Abbildung zwischen den Datenwerten und der Farbskala, <tt>log</tt> für eine logarithmische, <tt>pow</tt> für eine exponentielle (der Exponent kann dahintergesetzt werden, z.&nbsp;B. <tt>pow 0.5</tt>), <tt>sqrt</tt> und <tt>quantize</tt> für eine quantisierte Skala, d.&nbsp;h. die Werte werden in so viele Klassen eingeteilt, wie die Palette Farben hat, und diese dann genutzt.
** '''scaleType:''' mögliche Werte <code>linear</code> für eine lineare Abbildung zwischen den Datenwerten und der Farbskala, <code>log</code> für eine logarithmische, <code>pow</code> für eine exponentielle (der Exponent kann dahintergesetzt werden, z.&nbsp;B. <code>pow 0.5</code>), <code>sqrt</code> und <code>quantize</code> für eine quantisierte Skala, d.&nbsp;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
** '''domainMin:''' Skalenminimum, d. h. Datenwerte unter dem Minimum werden diesem zugeordnet
** '''domainMax:''' Skalenmaximum, d. h. Datenwerte über dem Maximum werden diesem zugeordnet
** '''domainMax:''' Skalenmaximum, d. h. Datenwerte über dem Maximum werden diesem zugeordnet
** '''legend:''' Farblegende anzeigen (funktioniert nicht bei <tt>quantize</tt>)
** '''legend:''' Farblegende anzeigen (funktioniert nicht bei <code>quantize</code>)
* '''defaultValue:''' Standardwert für unmarkierte geografische Objekte. Wenn die Datenwerte Farben sind, ist der Standandwert <tt>silver</tt>, bei Zahlen 0.
* '''defaultValue:''' Standardwert für unmarkierte geografische Objekte. Wenn die Datenwerte Farben sind, ist der Standandwert <code>silver</code>, bei Zahlen 0.
}}{{#if:{{{1|}}}||
}}{{#if:{{{1|}}}||
* '''formatjson:''' JSON-Objekt für bessere Lesbarkeit formatieren
* '''formatjson:''' JSON-Objekt für bessere Lesbarkeit formatieren


=== <tt>chart</tt> ===
=== <span style="font-family:monospace; font-size:1.3em;">chart</span> ===
Erstellt ein JSON-Objekt für <tt><nowiki><graph></nowiki></tt> zur Darstellung von Diagrammen. Im Artikelnamensraum sollte die Vorlage {{Vorlage|Graph:Chart}} genutzt werden. Siehe dort auch für Anwendungsbeispiele.
Erstellt ein JSON-Objekt für <code><nowiki><graph></nowiki></code> zur Darstellung von Diagrammen. Im Artikelnamensraum sollte die Vorlage {{Vorlage|Graph:Chart}} genutzt werden. Siehe dort auch für Anwendungsbeispiele.


'''Parameter:'''
'''Parameter:'''
Zeile 32: Zeile 32:
* '''width:''' Breite des Diagramms
* '''width:''' Breite des Diagramms
* '''height:''' Höhe des Diagramms
* '''height:''' Höhe des Diagramms
* '''type:''' Diagrammtyp: <tt>line</tt> für [[Liniendiagramm]]e, <tt>area</tt> für [[Flächendiagramm]]e, <tt>rect</tt> für [[Säulendiagramm]]e und <tt>pie</tt> für [[Kreisdiagramm]]e (Tortendiagramme). Mit dem Präfix <tt>stacked</tt> (z.&nbsp;B. <tt>stackedarea</tt>) können mehrere Serien gestapelt werden.
* '''type:''' Diagrammtyp: <code>line</code> für [[Liniendiagramm]]e, <code>area</code> für [[Flächendiagramm]]e, <code>rect</code> für [[Säulendiagramm]]e und <code>pie</code> für [[Kreisdiagramm]]e (Tortendiagramme). Mit dem Präfix <code>stacked</code> (z.&nbsp;B. <code>stackedarea</code>) können mehrere Serien gestapelt werden.
* '''interpolate:''' [[Interpolation (Mathematik)|Interpolations]]-Methode für Linien- und Flächendiagramme. Empfohlen ist <tt>monotone</tt> – weitere Werte lassen sich https://github.com/vega/vega/wiki/Marks#area entnehmen.
* '''interpolate:''' [[Interpolation (Mathematik)|Interpolations]]-Methode für Linien- und Flächendiagramme. Empfohlen ist <code>monotone</code> – 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 <tt>#rgb</tt>/<tt>#rrggbb</tt>/<tt>#aarrggbb</tt> oder mit einem [[Webfarbe#Benannte Farben|CSS-Farbnamen]] angegeben. Bei <tt>#aarrggbb</tt> bezeichnet <tt>aa</tt> den [[Alphakanal]], d.&nbsp;h. FF=100% Deckkraft, 80=50% Deckkraft/halbdurchsichtig, usw. (Die Standardpalette ist [https://github.com/mbostock/d3/wiki/Ordinal-Scales#categorical-colors <tt>category10.</tt>])
* '''colors:''' Farbpalette des Diagramms als kommagetrennte Liste von Farbwerten. Farbwerte werden im Format <code>#rgb</code>/<code>#rrggbb</code>/<code>#aarrggbb</code> oder mit einem [[Webfarbe#Benannte Farben|CSS-Farbnamen]] angegeben. Bei <code>#aarrggbb</code> bezeichnet <code>aa</code> den [[Alphakanal]], d.&nbsp;h. FF=100% Deckkraft, 80=50% Deckkraft/halbdurchsichtig, usw. (Die Standardpalette ist [https://github.com/mbostock/d3/wiki/Ordinal-Scales#categorical-colors <span style="font-family:monospace; font-size:1.3em;">category10.</span>])
* '''xAxisTitle''' und '''yAxisTitle:''' Beschriftung der X- und Y-Achse
* '''xAxisTitle''' und '''yAxisTitle:''' Beschriftung der X- und Y-Achse
* '''xAxisMin, xAxisMax, yAxisMin''' und '''yAxisMax:''' ändert den Start- und Endwert der X- bzw. 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 <tt>%</tt> 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).
* '''xAxisFormat''' und '''yAxisFormat:''' ändert die Formatierungen der Achsenbezeichnungen. Um beispielsweise Prozentzahlen auszugeben kann das Format <code>%</code> 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
* '''xAxisAngle:''' Dreht die x-Achsenbezeichnungen um den angegebenen Winkel. Sinnvolle Werte sind: -45, +45, -90, +90
* '''xType''' und '''yType:''' Datentypen der Werte, z. B. <tt>integer</tt> für Ganzzahlen, <tt>number</tt> für reelle Zahlen, <tt>date</tt> für Datumsangaben (z.&nbsp;B. im Format <tt>JJJJ/MM/TT</tt>) und <tt>string</tt> für beliebige Ordinalwerte.
* '''xType''' und '''yType:''' Datentypen der Werte, z. B. <code>integer</code> für Ganzzahlen, <code>number</code> für reelle Zahlen, <code>date</code> für Datumsangaben (z.&nbsp;B. im Format <code>JJJJ/MM/TT</code>) und <code>string</code> für beliebige Ordinalwerte.
* '''x:''' X-Werte als kommagetrennte Liste
* '''x:''' X-Werte als kommagetrennte Liste
* '''y''' bzw. '''y1, y2,''' …: Y-Werte von einer bzw. mehreren Datenreihen. Bei Kreisdiagrammen gibt <tt>y2</tt> die Radien der entsprechenden Kreisstücke an.
* '''y''' bzw. '''y1, y2,''' …: Y-Werte von einer bzw. mehreren Datenreihen. Bei Kreisdiagrammen gibt <code>y2</code> die Radien der entsprechenden Kreisstücke an.
* '''legend:''' Legende mit angegebenen Legendentitel anzeigen (funktioniert nur bei mehreren Datenreihen)
* '''legend:''' Legende mit angegebenen Legendentitel anzeigen (funktioniert nur bei mehreren Datenreihen)
* '''y1Title, y2Title,''' …: Bezeichnung der jeweiligen Datenreihe in der Legende
* '''y1Title, y2Title,''' …: Bezeichnung der jeweiligen Datenreihe in der Legende
* '''linewidth:''' Liniendicke bei Liniendiagrammen bzw. Abstand zwischen den Kreisstücken bei Kreisdiagrammen
* '''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 <tt>Name1:Wert1, Name2:Wert2</tt>:
* '''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 <code>Name1:Wert1, Name2:Wert2</code>:
** '''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
** '''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
** '''fontcolor:''' Textfarbe
** '''fontsize:''' Textgröße
** '''fontsize:''' Textgröße
** '''offset:''' verschiebt den Text gemäß dem angegebenen Offset. Bei Säulen- und Kreisdiagramme (mit <tt>midangle</tt>-Winkelwert) gibt dies auch an, ob der Text inner- oder außerhalb der Diagrammgrafiken geschrieben wird.
** '''offset:''' verschiebt den Text gemäß dem angegebenen Offset. Bei Säulen- und Kreisdiagramme (mit <code>midangle</code>-Winkelwert) gibt dies auch an, ob der Text inner- oder außerhalb der Diagrammgrafiken geschrieben wird.
** '''angle''' (nur Kreisdiagramme): Winkel in Grad oder <tt>midangle</tt> (Standard) für dynamischen Winkel basierend auf dem Winkel des Kreisstücks.
** '''angle''' (nur Kreisdiagramme): Winkel in Grad oder <code>midangle</code> (Standard) für dynamischen Winkel basierend auf dem Winkel des Kreisstücks.
* '''innerRadius:''' innerer Radius, um aus einem Kreisdiagramm ein ''Ringdiagramm'' zu erzeugen.
* '''innerRadius:''' innerer Radius, um aus einem Kreisdiagramm ein ''Ringdiagramm'' zu erzeugen.
}}{{#if:{{{1|}}}||
}}{{#if:{{{1|}}}||
Zeile 56: Zeile 56:


=== Vorlagenwrapper ===
=== Vorlagenwrapper ===
Die Funktionen <tt>mapWrapper</tt> und <tt>chartWrapper,</tt> dienen lediglich dazu, alle Parameter einer aufrufenden Vorlage an die entsprechenden Funktionen <tt>map</tt> und <tt>chart</tt> durchzureichen, so dass die Vorlage selbst keine Parameterzuordnung vornehmen muss.
Die Funktionen <code>mapWrapper</code> und <code>chartWrapper,</code> dienen lediglich dazu, alle Parameter einer aufrufenden Vorlage an die entsprechenden Funktionen <code>map</code> und <code>chart</code> durchzureichen, so dass die Vorlage selbst keine Parameterzuordnung vornehmen muss.
}}
}}


Anonymer Benutzer