Vorlage:Graph:Lines
Info:Die Hauptversion dieser Vorlage befindet sich unter Template:Graph:Lines. Änderungswünsche sollten daher dort angefragt und durchgeführt und die Änderungen dann an die lokalen Kopien manuell verteilt werden.
Dieser Vorlage erlaubt die grafische Darstellung von tabellarischen Commons-Datensätzen oder aus Wikidata mittels des Wikidata-Abfragedienstes (https://query.wikidata.org/) in SPARQL-Syntax.
Beispiele
{{Graph:Lines | table=bls.gov/US Women's weekly earnings as a percent of men's by age, annual averages.tab | type=year | xField=year | series="age_16_24", "age_25_34", "age_35_44", "age_45_54" | title=Geschlechtsspezifisches Lohngefälle in den USA | yZero=false | xAxis=Year | yAxis=Percentage | yMax=100 | yGrid=y | legend=Altersgruppe }} |
Rohdaten anzeigen oder bearbeiten. |
|
{{Graph:Lines | 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 | title=Gemälde nach Jahrzehnt }} |
Quell-Wikidata-Abfrage anzeigen. |
|
Wikidata query produces three columns - year, population size, and country name. This graph shows one line per country.
{{Graph:Lines | tabletype=query | table= #Population of countries sharing a border with Germany
SELECT ?year ?population ?countryLabel
WHERE {
{
SELECT ?country ?year (AVG(?populations) AS ?population) WHERE {
{
SELECT ?country (YEAR(?date) AS ?year) ?populations WHERE {
?country wdt:P47 wd:Q183.
?country p:P1082 ?populationStatement.
?populationStatement ps:P1082 ?populations.
?populationStatement pq:P585 ?date.
?country wdt:P31 wd:Q3624078.
}
}
}
GROUP BY ?country ?year
}
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
| type=year | xField=year | group=countryLabel | value=population | title=Bevölkerungszahl der Nachbarländer Deutschlands | legend=- | xGrid=y | yGrid=y | yTicks=7 | width=600 }} |
Quell-Wikidata-Abfrage anzeigen. |
Parameter
Diese Vorlage gibt eine oder mehrere unabhängige numerische Datenreihen als Liniendiagramm 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.
| Mehrzeiliger Text | 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. | Mehrzeiliger Text | 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).
| Mehrzeiliger Text | vorgeschlagen |
X-Feld | xField | Id der Datenspalte die Werte der X-Achse enthält. Wenn type=year dann ist xField standardmäßig auch "year". | Mehrzeiliger Text | erforderlich |
Datenreihen | series | Namen der Spalten die die Datenreihen enthalten. 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". | Mehrzeiliger Text | optional |
Gruppe | group | Wenn die Linienfarbe nur von einer Spalte abhängt, kann deren Id hier angegeben werden anstelle des Datenreihen-Parameters. | Mehrzeiliger Text | optional |
Wert | value | Wenn die Linienfarbe nur von einer Spalte abhängt, kann hier die Spalte mit den Werten angegeben werden. | Mehrzeiliger Text | 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 | Mehrzeiliger Text | optional |
X-Achse startet mit 0 | xAxisZero, xZero | Erzwingt, ob die X-Achse mit dem Nullwert anfängt ("true") oder nicht ("false"). | Mehrzeiliger Text | optional |
Y-Achse startet mit 0 | yAxisZero, yZero | Erzwingt, ob die Y-Achse mit dem Nullwert anfängt ("true") oder nicht ("false"). | Mehrzeiliger Text | optional |
X axis scale clamp | xAxisClamp | Épingle sur l'échelle de l'axe X. Les courbes au delà de cette épingle seront cachées. | Wahrheitswert | optional |
Y axis scale clamp | yAxisClamp | Épingle sur l'échelle de l'axe Y. Les courbes au delà de cette épingle seront cachées. | Wahrheitswert | optional |
X-Achse, Minimum | xAxisMin, xMin | Erzwingt das X-Achse mit dem angegeben Wert anfängt. | Zahlenwert | optional |
X-Achse, Maximum | xAxisMax, xMax | Erzwingt das X-Achse mit dem angegeben Wert endet. | Zahlenwert | optional |
Y-Achse, Minimum | yAxisMin, yMin | Erzwingt das Y-Achse mit dem angegeben Wert anfängt. | Zahlenwert | optional |
Y-Achse, Maximum | yAxisMax, yMax | Erzwingt das Y-Achse mit dem angegeben Wert endet. | Zahlenwert | optional |
Y axis scale | yScale | Set Y axis scaling type - linear, log and sqrt.
| Mehrzeiliger Text | optional |
Replace zero values | replaceZerosWith | Replaces 0 values in Y data field. Recommended to be use alongside with yScale=log (else zeros will be filtered out). | Zahlenwert | optional |
Titel | title | Titel des Diagramms. | Mehrzeiliger Text | optional |
Title horizontal alignment | titleXAlign | Horizontal alignment of title, could be one of: left, center, right | Mehrzeiliger Text | 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 | Zahlenwert | optional |
X-Achse, Titel | xAxisTitle | Titel der X-Achse. | Mehrzeiliger Text | optional |
Y-Achse, Titel | yAxisTitle | Titel der Y-Achse. | Mehrzeiliger Text | optional |
X axis format | xAxisFormat | Changes the formatting of the X axis labels
| Mehrzeiliger Text | optional |
Y axis format | yAxisFormat | Changes the formatting of the Y axis labels
| Mehrzeiliger Text | optional |
X axis labels angle | xAxisAngle | Rotates the x axis labels by the specified angle. Recommended values are: -45, +45, -90, +90. | Zahlenwert | optional |
Y axis labels angle | yAxisAngle | Rotates the y axis labels by the specified angle. | Zahlenwert | optional |
X axis labels font size | xAxisFontSize | keine Beschreibung | Zahlenwert | optional |
Y axis labels font size | yAxisFontSize | keine Beschreibung | Zahlenwert | optional |
X-Achse, Raster | xGrid | Zeigt die Hilfslinien für die X-Achse. | Wahrheitswert | optional |
Y-Achse, Raster | yGrid | Zeigt die Hilfslinien für die Y-Achse. | Wahrheitswert | optional |
X-Achse, Markierungsanzahl | xTicks, xAxisTicks | Wie viele Markierungen sollen an der X-Achse gezeigt werden. '-' ermittelt die Anzahl automatisch.
| Zahlenwert | optional |
Y-Achse, Markierungsanzahl | yTicks, yAxisTicks | Wie viele Markierungen sollen an der Y-Achse gezeigt werden. Standardmäßig auf automatisch '-' gesetzt.
| Zahlenwert | optional |
Raw vertical annotation values | vAnnotationsValues | Supply all annotation values as a list of JSON objects: {"text": "Big event", "x": 1980}, ... | Mehrzeiliger Text | optional |
Raw horizontal annotation values | hAnnotationsValues | Supply all horizontal annotation values as a list of JSON objects: {"text":"Big event", "y": 980}, ... | Mehrzeiliger Text | 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. | Mehrzeiliger Text | 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. | Mehrzeiliger Text | optional |
Vertical annotation data transforms | vAnnotationsTransforms | keine Beschreibung | Mehrzeiliger Text | optional |
Horizontal annotation data transforms | hAnnotationsTransforms | keine Beschreibung | Mehrzeiliger Text | optional |
Legende | legend | Titel der Legende. | Mehrzeiliger Text | optional |
Breite | width | keine Beschreibung | Zahlenwert | optional |
Höhe | height | keine Beschreibung | Zahlenwert | optional |
Chart sizing mode | chartSizing | Chart sizing mode, could be one of: fit, pad. Use `fit` to force resulting chart canvas sizes to be exactly equal to provided width and height values. Use `pad` 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)
| Mehrzeiliger Text | optional |
Palette | colors | Die zu verwendende Farbpalette für die Linien. Dies kann eine Liste wie red, green sein. | Mehrzeiliger Text | optional |
Palette prédéfinie | colorscheme | Die zu verwendende Farbpalette für die Linien.
| Mehrzeiliger Text | optional |
Line width | linewidth | Line width for line charts or distance between the pie segments for pie charts.
| Zahlenwert | optional |
Debug | debug | Debugausgabe: wenn gesetzt wird das erzeugte JSON ausgegeben. | Mehrzeiliger Text | optional |
Siehe auch
- {{Graph:Stacked}} für automatisch generierte Balkendiagramme
- Verwendung der Vorlage
- Diese Dokumentation befindet sich auf einer eingebundenen Unterseite.
- Liste der Unterseiten.
<graph mode="interactive" title="">
{
//
// ATTENTION: This code is maintained at https://www.mediawiki.org/wiki/Template:Graph:Lines
// 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_talk:Graph:Lines
//
// Template translation is in https://commons.wikimedia.org/wiki/Data:Original/Template:Graphs.tab
//
"version": 2,
"width": 400,
"height": 300,
"padding": "strict",
"signals": [{"name": "rightwidth", "expr": "width + padding.right", "init":"400"}],
"data": [{
"name": "chart",
"url": "tabular:///{{{table}}}",
"format": {"type": "json"
, "property": "data"
},
"transform": [
// Convert xField parameter into a field "_xfield"
{"type": "formula", "field": "_xfield", "expr":
"datetime(datum.year, 0, 1)"
}
, {"type": "sort", "by": ["_xfield"]}
, {"type": "formula", "field": "_yfield", "expr": "datum.value" }
]
},
],
"scales": [
{
"name": "x",
"type": "time",
"domain": {"data": "chart", "field": "_xfield"},
"range": "width",
},
{
"name": "y",
"type": "linear",
"range": "height",
"domain": {"data": "chart", "field": "_yfield"},
},
{
"name": "color",
"type": "ordinal",
"range": "category10",
"domain": {"data": "chart", "field": "key"}
},
],
"axes": [
{"scale": "x", "type": "x", "tickSizeEnd": 0
, "ticks": 7
},
{"scale": "y", "type": "y", "tickSizeEnd": 0
}
],
"marks": [
// Group data by the group parameter or "key", and draw lines, one line per group
{
"type": "group",
"from": {
"data": "chart",
"transform": [{"type": "facet", "groupby": ["key"]}]
},
"marks": [
{
"type": "line",
"properties": {
"hover": {
"stroke": {"value": "red"}
},
"update": {
"stroke": {"scale": "color", "field": "key"}
},
"enter": {
"y": {"scale": "y", "field": "_yfield"},
"x": {"scale": "x", "field": "_xfield"},
"stroke": {"scale": "color", "field": "key"},
"interpolate": {"value": "monotone"},
"strokeWidth": {"value": 2.5}
}
}
}
],
}
]
}
</graph>