Vorlage:Graph:Stacked
Dokumentation
Template:Graph:Stacked. Änderungswünsche sollten daher dort angefragt und durchgeführt und die Änderungen dann an die lokalen Kopien manuell verteilt werden.
Info: Die Hauptversion dieser Vorlage befindet sich unterBeispiele[Quelltext bearbeiten]
{{Graph:Stacked | table=Bea.gov/GDP by state.tab |
{{Graph:Stacked | table=Bea.gov/GDP by state.tab |
---|---|
Rohdaten anzeigen oder bearbeiten. |
Rohdaten anzeigen oder bearbeiten. |
{{Graph:Stacked | tabletype=query | table= SELECT ?decade (COUNT(?decade) AS ?count) WHERE { ?item wdt:P31 wd:Q3305213 . ?item wdt:P571 ?inception . BIND( year(?inception) as ?year ). BIND( ROUND(?year/10)*10 as ?decade ) . FILTER( ?year > 1400) } GROUP BY ?decade ORDER BY ?decade | series="count" | type=year | xField=decade |
{{Graph:Stacked | tabletype=query | table= SELECT ?year (COUNT(?_genre) AS ?count ) (SAMPLE(?_genreLabel) AS ?label ) WHERE { ?item wdt:P31 wd:Q11424. ?item wdt:P577 ?_publication_date. ?item wdt:P136 ?_genre. ?_genre rdfs:label ?_genreLabel. BIND(str(YEAR(?_publication_date)) AS ?year) FILTER((LANG(?_genreLabel)) = "en") FILTER (?_publication_date >= "2000-00-00T00:00:00Z"^^xsd:dateTime) } GROUP BY ?_genreLabel ?year HAVING (?count > 30) | type=year | xField=year | group=label | value=count | legend=- |
Quell-Wikidata-Abfrage anzeigen. |
Quell-Wikidata-Abfrage anzeigen. |
Parameter[Quelltext bearbeiten]
Diese Vorlage gibt eine oder mehrere unabhängige numerische Datenreihen als (gestapelte) Balken- oder Flächendiagramm aus. Die Daten müssen entweder aus dem Commons-Data-Namensraum oder dem Wikidata-Abfragedienst kommen.
Parameter | Beschreibung | Typ | Status | |
---|---|---|---|---|
Tabellentyp | tabletype | Gibt den Typ der Tabellendaten an. "tab" (Standard) verwendet den Data-Namensraum von Commons ohne den data:-Präfix. "query" sendet eine Abfrage an den Wikidata-Abfragedienst.
| Zeichenfolge | optional |
Tabelle | table | Name der Datenseite auf Commons ohne den data:-Präfix. Die Tabelle sollte eine xField-Spalte besitzen, sowie eine oder mehrere weitere Spalten die als Datenreihen dargestellt werden. Wenn der tableType-Parameter "query" ist dann wird hier die Abfrage eingetragen. | Zeichenfolge | erforderlich |
Typ der X-Achse | type | Typ der X-Achse - time (z.B. "2015-10" oder "2013-03-08), year (Ganzzahl die als Jahr behandelt wird), linear (Zahlen), ordinal (Sonstiges)
| Zeichenfolge | vorgeschlagen |
X-Feld | xField | Id der Datenspalte die Werte der X-Achse enthält. Wenn type=year dann ist xField standardmäßig auch "year". | Zeichenfolge | erforderlich |
Datenreihen | series | Namen der als Balken- oder Flächenabschnitte darzustellenden Datenreihen. Diese müssen in Anführungszeichen gesetzt werden und durch ihre Feld-Ids wie sie auf der .tab-Seite angegeben sind referenziert werden: "field1", "field2", "field3". | Zeichenfolge | optional |
Gruppe | group | Wenn die Farbe nur von einem Balken- oder Flächenabschnitt abhängt, kann dessen Id hier angegeben werden anstelle des Datenreihen-Parameters. | Zeichenfolge | optional |
Wert | value | Wenn die Linienfarbe nur von einer Spalte abhängt, kann hier die Spalte mit den Werten angegeben werden. | Zeichenfolge | optional |
Filter | filter | Optionally filter data with an template expression parameter e.g. `filter = datum.some_dataset_field > 1900 && datum.some_dataset_field < 2000` where `some_dataset_field` means some valid field of displayed dataset | Zeichenfolge | optional |
Balkenbreite | barwidth | Wenn gesetzt wird ein Balken- statt einem Flächendiagramm ausgegeben, wobei der Wert eine Zahl sein muss, die die Breite der Balken angibt. Wenn type=ordinal kann auch der Wert 'auto' verwendet werden. | Zeichenfolge | optional |
X-Achse startet mit 0 | xZero, xAxisZero | Erzwingt, ob die X-Achse mit dem Nullwert anfängt ("true") oder nicht ("false"). | Zeichenfolge | optional |
Y-Achse startet mit 0 | yZero, yAxisZero | Erzwingt, ob die Y-Achse mit dem Nullwert anfängt ("true") oder nicht ("false"). | Zeichenfolge | optional |
X axis scale clamp | xAxisClamp | keine Beschreibung | Boolesch | optional |
Y axis scale clamp | yAxisClamp | keine Beschreibung | Boolesch | optional |
X-Achse, Minimum | xMin, xAxisMin | Erzwingt das X-Achse mit dem angegeben Wert anfängt. | Unbekannt | optional |
X-Achse, Maximum | xMax, xAxisMax | Erzwingt das X-Achse mit dem angegeben Wert endet. | Unbekannt | optional |
Y-Achse, Minimum | yMin, yAxisMin | Erzwingt das Y-Achse mit dem angegeben Wert anfängt. | Unbekannt | optional |
Y-Achse, Maximum | yMax, yAxisMin | Erzwingt das Y-Achse mit dem angegeben Wert endet. | Unbekannt | optional |
Titel | title | Titel des Diagramms | Zeichenfolge | optional |
Title horizontal alignment | titleXAlign | Horizontal alignment of title, could be one of: left, center, right | Zeichenfolge | optional |
Title horizontal offset | titleXOffset | Horizontal offset of title position, could be negative, to shift title to the left, or positive to shift title to the right | Nummer | optional |
X-Achse, Titel | xAxis, xAxisTitle | Titel der X-Achse | Zeichenfolge | optional |
Y-Achse, Titel | yAxis, yAxisTitle | Titel der Y-Achse | Zeichenfolge | optional |
X axis labels angle | xAxisAngle | Rotates the x axis labels by the specified angle. Recommended values are: -45, +45, -90, +90. | Nummer | optional |
Y axis labels angle | yAxisAngle | Rotates the y axis labels by the specified angle. | Nummer | optional |
X axis labels font size | xAxisFontSize | keine Beschreibung | Nummer | optional |
Y axis labels font size | yAxisFontSize | keine Beschreibung | Nummer | optional |
X-Achse, Raster | xGrid | Zeigt die Hilfslinien für die X-Achse. | Boolesch | optional |
Y-Achse, Raster | yGrid | Zeigt die Hilfslinien für die Y-Achse. | Boolesch | optional |
X-Achse, Markierungsanzahl | xTicks, xAxisTicks | Wie viele Markierungen sollen an der X-Achse gezeigt werden. '-' ermittelt die Anzahl automatisch. | Nummer | optional |
Y-Achse, Markierungsanzahl | yTicks, yAxisTicks | Wie viele Markierungen sollen an der Y-Achse gezeigt werden. Standardmäßig auf automatisch '-' gesetzt. | Nummer | optional |
Raw vertical annotation values | vAnnotationsValues | Supply all annotation values as a list of JSON objects: {"text": "Big event", "x": 1980}, ... | Zeichenfolge | optional |
Raw horizontal annotation values | hAnnotationsValues | Supply all horizontal annotation values as a list of JSON objects: {"text":"Big event", "y": 980}, ... | Zeichenfolge | optional |
Vertical annotation table | vAnnotationsTable | Data page name on Commons, without the Data: prefix. The table must contain "x" column, and optional "text" and "color" columns. | Zeichenfolge | optional |
Horizontal annotation table | hAnnotationsTable | Data page name on Commons, without the Data: prefix. The table must contain "y" column, and optional "text" and "color" columns. | Zeichenfolge | optional |
Vertical annotation data transforms | vAnnotationsTransforms | keine Beschreibung | Zeichenfolge | optional |
Horizontal annotation data transforms | hAnnotationsTransforms | keine Beschreibung | Zeichenfolge | optional |
Legende | legend | Titel der Legende | Zeichenfolge | optional |
Breite | width | keine Beschreibung | Nummer | optional |
Höhe | height | keine Beschreibung | Nummer | optional |
Chart sizing mode | chartSizing | Chart sizing mode, could be one of: fit, pad. Vega default mode is `pad`. Use `fit` to force resulting chart canvas sizes to be exactly equal to provided width and height values. Use `pad` (or omit this parameter at all) to define prefered plotting size with provided width and height values, and let Vega increase overall chart size to include legend and title (if any) | Zeichenfolge | optional |
Palette | colors | Die zu verwendende Farbpalette für die Balken und Flächen. Dies kann eine Liste wie `colors = [ "red", "green" ]` oder `colors = red, green` sein.
| Zeichenfolge | optional |
debug | debug | Debugausgabe: wenn gesetzt wird das erzeugte JSON ausgegeben. | Zeichenfolge | optional |
Parameterübersetzungen bearbeiten
Siehe auch[Quelltext bearbeiten]
- {{Graph:Lines}} für automatisch generierte Liniendiagramme
Bei technischen Fragen zu dieser Vorlage kannst du dich auch an die Vorlagenwerkstatt wenden. Inhaltliche Fragen und Vorschläge gehören zunächst auf die Diskussionsseite. Sie können ggf. auch an eine passende Redaktion, Portal usw. gerichtet werden.
- Verwendungen dieser Vorlage
- Cirrus-Suche zu Einbindungen dieser Vorlage (zunächst nur ANR) mit weiteren Möglichkeiten
- Anzahl der Einbindungen
- Liste der Unterseiten.
- Diese Dokumentation befindet sich auf einer eingebundenen Unterseite [Bearbeiten].
- Test-/Beispielseite erstellen.
- Es existiert eine TemplateStyles-Definition [Bearbeiten], die CSS-Deklarationen wirksam werden lässt, wenn diese Vorlage eingebunden wird.
- giftbot/vorlagenparser: CSV herunterladen (ANR).
<graph>
{
//
// ATTENTION: This code is maintained at https://www.mediawiki.org/wiki/Template:Graph:Stacked
// Please do not modify it anywhere else, as it may get copied and override your changes.
// Suggestions can be made at https://www.mediawiki.org/wiki/Template:Graph:Stacked
//
// Template translation is in https://commons.wikimedia.org/wiki/Data:Original/Template:Graphs.tab
//
"version": 2,
"width": 550,
"height": 250,
"data": [{
"name": "chart",
"url": "tabular:///{{{table}}}",
"format": {"type": "json"
, "property": "data"
},
"transform": [
// Convert xField parameter into a field "_xfield"
{"type": "formula", "field": "_xfield", "expr":
"datum.{{{xField}}}"
},
{"type": "sort", "by": ["_xfield"]},
// For non-bar graph, ensure that all missing values still present as zeros to avoid area breaks
// We might need to allow other, non-0 values to be imputed.
{
"type": "impute",
"groupby": ["key"],
"orderby": ["_xfield"],
"field": "value",
"method": "value",
"value": 0
},
]
},
{
"name": "stats",
"source": "chart",
"transform": [{
"type": "aggregate",
"groupby": ["_xfield"],
"summarize": [{"field": "value", "ops": ["sum"]}]
}]
}
],
"scales": [
{
"name": "x",
"type": "{{{type}}}",
"domain": {"data": "chart", "field": "_xfield"},
"range": "width",
},
{
"name": "y",
"type": "linear",
"range": "height",
"domain": {"data": "stats", "field": "sum_value"},
},
{
"name": "color",
"type": "ordinal",
"domain": {"data": "chart", "field": "key"},
"range": "category10"
},
],
"axes": [
{"scale": "x", "type": "x", "tickSizeEnd": 0
, "ticks": 7
},
{"scale": "y", "type": "y", "tickSizeEnd": 0
// When drawing "type=year" bars with the given width, shift y axis left by half the width
}
],
"marks": [
// Group data by the "key", and draw lines, one line per key
{
"type": "group",
"from": {
"data": "chart",
"transform": [
{"type": "stack", "groupby": ["_xfield"], "sortby": ["key"], "field": "value"},
{"type": "facet", "groupby": ["key"]}
]
},
"marks": [
{
"type": "area",
"properties": {
"enter": {
"x": {"scale": "x", "field": "_xfield"},
"y": {"scale": "y", "field": "layout_start"},
"y2": {"scale": "y", "field": "layout_end"},
"fill": {"scale": "color", "field": "key"},
"interpolate": {"value": "monotone"}
}
}
}
],
}
]
}
</graph>