Template:Graph:Lines/doc
warning Warning: | Do not edit. This page is maintained by an automated tool. All edits should be done at [[mw:{{{1}}}|mediawiki.org]]. (translate this warning) |
File:Lua-logo-nolabel.svg | Uses Lua: |
TNT | This template uses Module:TNT for localisation: |
This graph's main version resides at Template:Graph:Lines . Please make or suggest all the changes there, and copy it everywhere else (until the copying is automated)
This graph draws one or more independent numeric data series as lines. The data must be stored on Commons' Data namespace or come from Wikidata Query Service.
Gender pay gap
{{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=Gender pay gap in the United States
| yZero=false | xAxis=Year | yAxis=Percentage | yMax=100 | yGrid=y | width=500 | legend=Age group
| vAnnotationsValues={"text": "Fictitious event", "x": 1990}
}}
|
<graph lang="json">
{ // // 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": 5, "$schema": "https://vega.github.io/schema/vega/v5.json", "width": 500, "height": 300, "padding": "strict", "signals": [{"name": "rightwidth", "update": "width + padding.right", "value":"500" }], "data": [{ "name": "chart", "url": "https://commons.wikimedia.org/w/api.php?action=jsondata&formatversion=2&title=bls.gov%2FUS+Women%27s+weekly+earnings+as+a+percent+of+men%27s+by+age%2C+annual+averages.tab&format=json&origin=*", "format": {"type": "json" , "property": "data" }, "transform": [
// Convert xField parameter into a field "_xfield" {"type": "formula", "as": "_xfield", "expr": "datetime(datum.year, 0, 1)" }, {"type": "collect", "sort": {"field": ["_xfield"]} } , {"type": "fold", "fields": ["age_16_24", "age_25_34", "age_35_44", "age_45_54"]} , {"type": "formula", "as": "_yfield", "expr": "datum.value" } ] }, // source of labels for `tabletype=tab` { "name": "labels", "url": "https://commons.wikimedia.org/w/api.php?action=jsondata&formatversion=2&title=bls.gov%2FUS+Women%27s+weekly+earnings+as+a+percent+of+men%27s+by+age%2C+annual+averages.tab&format=json&origin=*", "format": {"type": "json", "property": "fields"}, "transform": [
] }, // Each vertical annotation is expected to be x-scale typed `x`, string `text`, // and optional string `color` (e.g. "#4d2800") { "name": "vAnnotations", "values": [{"text": "Fictitious event", "x": 1990}], "transform": [ // in case of `type=year` convert year number to UNIX timestamp {"type": "formula", "as": "x", "expr": "datetime(datum.x, 0, 1)"}, // expected item format `{"text": "...", "color": "#000", x: _ }` { "type": "formula", "as": "text", "expr": "datum.text || " }, { "type": "formula", "as": "color", "expr": "datum.color || '#54595d'" } ] }, ], "scales": [ { "name": "x", "type": "time", "domain": {"data": "chart", "field": "_xfield"}, "range": "width",
}, { "name": "y", "type": "linear", "range": "height", "domain": {"data": "chart", "field": "_yfield"}, "zero": false, "domainMax": 100, }, { "name": "color", "type": "ordinal", "range": {"scheme": "category10"}, "domain": {"data": "chart", "field": "key"} }, { "name": "labels", "type": "ordinal", "domain": {"data": "labels", "field": "name"}, "range": {"data": "labels", "field": "title"}, } ], "legends": [{ "fill": "color", "stroke": "color", "title": "Age group", "encode": { "update": { "labels": { "text": {"scale": "labels", "field": "data"} } } } }], "axes": [ { "scale": "x", "orient": "bottom", "tickSize": 0, "tickCount": 7, "title": "Year", "encode": { "update": { "labels": { } } } }, { "scale": "y", "orient": "left", "tickSize": 0, "title": "Percentage", "grid": true, "encode": { "labels": { } } } ], "marks": [ // Group data by the group parameter or "key", and draw lines, one line per group { "type": "group", "from": { "facet": { "name": ["key"], "data": "chart", "groupby": ["key"] } }, "marks": [ { "type": "line", "from": {"data": ["key"]}, "encode": { "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": "linear"}, "strokeWidth": {"value": 2.5} } } } ], }, // vertical annotations dashed line { "type": "rule", "encode": { "update": { "x": {"scale": "x", "field": "x"}, "y": {"value": 0}, "y2": {"field": {"group": "height"} }, "stroke": {"field": "color"}, "opacity": {"value": 0.75}, "strokeWidth": {"value": 1}, "strokeDash": {"value": [6,1]} } }, "from": {"data": "vAnnotations"} }, // vertical annotations text { "type": "text", "encode": { "update": { "x": {"scale": "x", "field": "x"}, "y": {"value": 0}, "align": {"value": "right"}, "dx": {"value": -3}, "dy": {"value": 3}, "baseline": {"value": "top"}, "text": {"field": "text"}, "angle": {"value": -90}, "opacity": {"value": 0.75}, "fill": {"field": "color"} } }, "from": {"data": "vAnnotations"} },
{ "type": "text", "encode": { "enter": { "y": {"value": -15}, "x": {"signal": "rightwidth", "mult": 0.5, "offset": 0 }, "text": {"value": "Gender pay gap in the United States"}, "fontWeight": {"value": "bold"}, "align": {"value": "center"}, "baseline": {"value": "bottom"}, "fill": {"value": "#000"} } } } ] } </graph> See or edit raw graph data.
|
Paintings per decades
{{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)
FILTER( ?year <= year(now()))
} GROUP BY ?decade ORDER BY ?decade
| series="count" | type=year | xField=decade
|yAxisFormat=s
| yZero=false | width=550
| title=Paintings by decade
| hAnnotationsValues={"text": "Fictitious value", "y": 20000}
}}
|
<graph lang="json">
{ // // 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": 5, "$schema": "https://vega.github.io/schema/vega/v5.json", "width": 550, "height": 300, "padding": "strict", "signals": [{"name": "rightwidth", "update": "width + padding.right", "value":"550" }], "data": [{ "name": "chart", "url": "wikidatasparql:///?query=SELECT%20%3Fdecade%20%28COUNT%28%3Fdecade%29%20AS%20%3Fcount%29%20WHERE%20%7B%0A%20%20%3Fitem%20wdt%3AP31%20wd%3AQ3305213%20.%0A%20%20%3Fitem%20wdt%3AP571%20%3Finception%20.%0A%20%20BIND%28%20year%28%3Finception%29%20as%20%3Fyear%20%29.%20%0A%20%20BIND%28%20ROUND%28%3Fyear%2F10%29%2A10%20as%20%3Fdecade%20%29%20.%0A%20%20FILTER%28%20%3Fyear%20%3E%201400%29%0A%20%20%20%20FILTER%28%20%3Fyear%20%3C%3D%20year%28now%28%29%29%29%0A%7D%20GROUP%20BY%20%3Fdecade%20ORDER%20BY%20%3Fdecade", "format": {"type": "json" }, "transform": [
// Convert xField parameter into a field "_xfield" {"type": "formula", "as": "_xfield", "expr": "datetime(datum.decade, 0, 1)" }, {"type": "collect", "sort": {"field": ["_xfield"]} } , {"type": "fold", "fields": ["count"]} , {"type": "formula", "as": "_yfield", "expr": "datum.value" } ] },
// Each horizontal annotation is expected to be numeric `y`, string `text`, // and optional string `color` (e.g. "#4d2800") { "name": "hAnnotations", "values": [{"text": "Fictitious value", "y": 20000}], "transform": [ // expected item format `{"text": "...", "color": "#000", y: 0}` { "type": "formula", "as": "text", "expr": "datum.text || " }, { "type": "formula", "as": "color", "expr": "datum.color || '#54595d'" } ] }, ], "scales": [ { "name": "x", "type": "time", "domain": {"data": "chart", "field": "_xfield"}, "range": "width",
}, { "name": "y", "type": "linear", "range": "height", "domain": {"data": "chart", "field": "_yfield"}, "zero": false, }, { "name": "color", "type": "ordinal", "range": {"scheme": "category10"}, "domain": {"data": "chart", "field": "key"} }, { "name": "labels", "type": "ordinal", "domain": ["count"], "range": ["count"], } ], "axes": [ { "scale": "x", "orient": "bottom", "tickSize": 0, "tickCount": 7, "encode": { "update": { "labels": { } } } }, { "scale": "y", "orient": "left", "tickSize": 0, "format": "s", "encode": { "labels": { } } } ], "marks": [ // Group data by the group parameter or "key", and draw lines, one line per group { "type": "group", "from": { "facet": { "name": ["key"], "data": "chart", "groupby": ["key"] } }, "marks": [ { "type": "line", "from": {"data": ["key"]}, "encode": { "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": "linear"}, "strokeWidth": {"value": 2.5} } } } ], },
{ "type": "rule", "encode": { "update": { "y": {"scale": "y", "field": "y"}, "x": {"value": 0 }, "x2": {"field": {"group": "width"} }, "stroke": {"field": "color"}, "opacity": {"value": 0.75}, "strokeWidth": {"value": 1}, "strokeDash": {"value": [6,1]} } }, "from": {"data": "hAnnotations"} }, // horizontal annotations text { "type": "text", "encode": { "update": { "y": {"scale": "y", "field": "y", "offset": 3}, "x": {"value": 0, "offset": 3}, "baseline": {"value": "top"}, "text": {"field": "text"}, "angle": {"value": 0}, "opacity": {"value": 0.75}, "fill": {"field": "color"} } }, "from": {"data": "hAnnotations"} }, // Draw title at the top of the graph { "type": "text", "encode": { "enter": { "y": {"value": -15}, "x": {"signal": "rightwidth", "mult": 0.5, "offset": 0 }, "text": {"value": "Paintings by decade"}, "fontWeight": {"value": "bold"}, "align": {"value": "center"}, "baseline": {"value": "bottom"}, "fill": {"value": "#000"} } } } ] } </graph> |
Population in countries bordering Germany
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.
}
} FILTER( ?year >= 1900)
}
GROUP BY ?country ?year
}
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
| type=year | xField=year | group=countryLabel | value=population
| colorscheme=category20
| legend=- | xGrid=y | yGrid=y | yTicks=7| width=600
| colorscheme=category20
|yAxisFormat=.1s
}}
|
<graph lang="json">
{ // // 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": 5, "$schema": "https://vega.github.io/schema/vega/v5.json", "width": 600, "height": 300, "padding": "strict", "signals": [{"name": "rightwidth", "update": "width + padding.right", "value":"600" }], "data": [{ "name": "chart", "url": "wikidatasparql:///?query=%23Population%20of%20countries%20sharing%20a%20border%20with%20Germany%2C%20fixed%0ASELECT%20%3Fyear%20%3Fpopulation%20%3FcountryLabel%20WHERE%20%7B%0A%20%20%7B%0A%20%20%20%20SELECT%20%3Fcountry%20%3Fyear%20%28AVG%28%3Fpopulations%29%20AS%20%3Fpopulation%29%20WHERE%20%7B%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20SELECT%20%3Fcountry%20%28YEAR%28%3Fdate%29%20AS%20%3Fyear%29%20%3Fpopulations%20WHERE%20%7B%0A%20%20%20%20%20%20%20%20%20%20%3Fcountry%20wdt%3AP47%20wd%3AQ183.%0A%20%20%20%20%20%20%20%20%20%20%3Fcountry%20p%3AP1082%20%3FpopulationStatement.%0A%20%20%20%20%20%20%20%20%20%20%3FpopulationStatement%20ps%3AP1082%20%3Fpopulations.%0A%20%20%20%20%20%20%20%20%20%20%3FpopulationStatement%20pq%3AP585%20%3Fdate.%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%20%20%20FILTER%28%20%3Fyear%20%3E%3D%201900%29%0A%20%20%20%20%7D%0A%20%20%20%20GROUP%20BY%20%3Fcountry%20%3Fyear%0A%20%20%7D%0A%20%20SERVICE%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22en%22.%20%7D%0A%7D", "format": {"type": "json" }, "transform": [
// Convert xField parameter into a field "_xfield" {"type": "formula", "as": "_xfield", "expr": "datetime(datum.year, 0, 1)" }, {"type": "collect", "sort": {"field": ["_xfield"]} } , {"type": "formula", "as": "_yfield", "expr": "datum.population" } ] },
], "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": {"scheme": "category20"}, "domain": {"data": "chart", "field": "countryLabel"} }, ], "legends": [{ "fill": "color", "stroke": "color",
}], "axes": [ { "scale": "x", "orient": "bottom", "tickSize": 0, "tickCount": 7, "grid": true, "encode": { "update": { "labels": { } } } }, { "scale": "y", "orient": "left", "tickSize": 0, "tickCount": 7, "format": ".1s", "grid": true, "encode": { "labels": { } } } ], "marks": [ // Group data by the group parameter or "key", and draw lines, one line per group { "type": "group", "from": { "facet": { "name": ["countryLabel"], "data": "chart", "groupby": ["countryLabel"] } }, "marks": [ { "type": "line", "from": {"data": ["countryLabel"]}, "encode": { "hover": { "stroke": {"value": "red"} }, "update": { "stroke": {"scale": "color", "field": "countryLabel"} }, "enter": { "y": {"scale": "y", "field": "_yfield"}, "x": {"scale": "x", "field": "_xfield"}, "stroke": {"scale": "color", "field": "countryLabel"}, "interpolate": {"value": "linear"}, "strokeWidth": {"value": 2.5} } } } ], },
{ "type": "text", "encode": { "enter": { "y": {"value": -15}, "x": {"signal": "rightwidth", "mult": 0.5, "offset": 0 }, "text": {"value": "Population of countries bordering Germany"}, "fontWeight": {"value": "bold"}, "align": {"value": "center"}, "baseline": {"value": "bottom"}, "fill": {"value": "#000"} } } } ] } </graph> |
<templatedata>{"paramOrder":["tabletype","table","type","xField","series","group","value","filter","xAxisZero, xZero","yAxisZero, yZero","xAxisClamp","yAxisClamp","xAxisMin, xMin","xAxisMax, xMax","yAxisMin, yMin","yAxisMax, yMax","yScale","replaceZerosWith","title","titleXAlign","titleXOffset","xAxisTitle","yAxisTitle","xAxisFormat","yAxisFormat","xAxisAngle","yAxisAngle","xAxisFontSize","yAxisFontSize","xGrid","yGrid","xTicks, xAxisTicks","yTicks, yAxisTicks","vAnnotationsValues","hAnnotationsValues","vAnnotationsTable","hAnnotationsTable","vAnnotationsTransforms","hAnnotationsTransforms","legend","width","height","chartSizing","colors","colorscheme","linewidth","debug"],"description":"This graph draws one or more independent numeric data series as lines. The data must be stored on Commons' Data namespace or come from Wikidata Query Service.","params":{"xField":{"description":"Id of the data column that contains values for the X axis. If type=year, xField is also \"year\" by default.","type":"string","required":true,"label":"X field"},"yTicks, yAxisTicks":{"description":"How many ticks to show on Y axis. Auto '-' by default.","type":"number","default":"-","label":"Y axis ticks"},"table":{"description":"Data page name on Commons, without the Data: prefix. The table should contain xField column, like year or date, and one or more series columns to plot. If tabletype parameter is set to \"query\", this value is the query.","type":"string","required":true,"label":"Table"},"value":{"type":"string","description":"If line color depends on one column, this parameter should be set to the column which has the values.","label":"Value"},"yAxisMax, yMax":{"type":"number","description":"Force Y axis to end with this value.","label":"Y axis maximum"},"debug":{"type":"string","description":"Debug output: if set, will show graph as raw JSON.","label":"Debug"},"vAnnotationsTransforms":{"type":"string","label":"Vertical annotation data transforms"},"chartSizing":{"description":"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)","type":"string","default":"fit","label":"Chart sizing mode"},"titleXAlign":{"type":"string","description":"Horizontal alignment of title, could be one of: left, center, right","label":"Title horizontal alignment"},"yAxisMin, yMin":{"type":"number","description":"Force Y axis to start from this value.","label":"Y axis minimum"},"xAxisMax, xMax":{"type":"number","description":"Force X axis to end with this value.","label":"X axis maximum"},"yAxisAngle":{"type":"number","description":"Rotates the y axis labels by the specified angle.","label":"Y axis labels angle"},"tabletype":{"description":"Specifies the type of the table data. \"tab\" (default) uses data namespace on commons, without the data: prefix. \"query\" sends request to wikidata query service.","type":"string","default":"tab","label":"Table type"},"series":{"type":"string","description":"If each line is represented by a separate column of data (or if there is only one column), list of the data columns to show as lines. Must be in quotes, and listed by field IDs if coming from a .tab page: \"field1\", \"field2\", \"field3\".","label":"Series"},"linewidth":{"description":"Line width for line charts or distance between the pie segments for pie charts.","type":"number","default":"2.5","label":"Line width"},"yAxisZero, yZero":{"type":"string","description":"Force to start or not to start Y axis with zero. Can be either true or false.","label":"Y axis zero starts at 0"},"colorscheme":{"description":"The colors of the lines, specified as Vega defined rangeliteral.","type":"string","default":"category10","label":"Color scheme"},"colors":{"type":"string","description":"The colors of the lines, specified as a list like red, green. It has priority over colorscheme","label":"Colors"},"height":{"type":"number","label":"Height"},"group":{"type":"string","description":"If line color depends on just one column, specify that column's ID, instead of the series parameter.","label":"Group"},"xGrid":{"type":"boolean","description":"Show grid lines for X axis.","label":"X axis grid"},"yAxisTitle":{"type":"string","description":"Title of the Y axis.","label":"Y axis title"},"xAxisTitle":{"type":"string","description":"Title of the X axis.","label":"X axis title"},"xAxisFontSize":{"type":"number","label":"X axis labels font size"},"yAxisFontSize":{"type":"number","label":"Y axis labels font size"},"yGrid":{"type":"boolean","description":"Show grid lines for Y axis.","label":"Y axis grid"},"xAxisZero, xZero":{"type":"string","description":"Force to start or not to start X axis with zero. Can be either true or false.","label":"X axis starts at 0"},"xTicks, xAxisTicks":{"description":"How many ticks to show on X axis. 7 by default. '-' value makes it automatic.","type":"number","default":"7","label":"X axis ticks"},"legend":{"type":"string","description":"Title of the legend. \"-\" shows the legend without title.","label":"Legend"},"hAnnotationsTransforms":{"type":"string","label":"Horizontal annotation data transforms"},"hAnnotationsTable":{"type":"string","description":"Data page name on Commons, without the Data: prefix. The table must contain \"y\" column, and optional \"text\" and \"color\" columns.","label":"Horizontal annotation table"},"yScale":{"description":"Set Y axis scaling type - linear, log and sqrt.","type":"string","default":"linear","label":"Y axis scale"},"type":{"suggested":true,"type":"string","default":"year","label":"X axis type","description":"Type of the x axis - time (e.g. \"2015-10\" or \"2013-03-08\"), year (integer, but treated as a year), linear (numbers), ordinal (anything)."},"xAxisClamp":{"type":"boolean","description":"Épingle sur l'échelle de l'axe X. Les courbes au delà de cette épingle seront cachées.","label":"X axis scale clamp"},"hAnnotationsValues":{"type":"string","description":"Supply all horizontal annotation values as a list of JSON objects: {\"text\":\"Big event\", \"y\": 980}, ...","label":"Raw horizontal annotation values"},"xAxisMin, xMin":{"type":"number","description":"Force X axis to start from this value.","label":"X axis minimum"},"vAnnotationsValues":{"type":"string","description":"Supply all annotation values as a list of JSON objects: {\"text\": \"Big event\", \"x\": 1980}, ...","label":"Raw vertical annotation values"},"yAxisClamp":{"type":"boolean","description":"Épingle sur l'échelle de l'axe Y. Les courbes au delà de cette épingle seront cachées.","label":"Y axis scale clamp"},"width":{"type":"number","label":"Width"},"xAxisAngle":{"type":"number","description":"Rotates the x axis labels by the specified angle. Recommended values are: -45, +45, -90, +90.","label":"X axis labels angle"},"title":{"type":"string","description":"Title of the whole graph.","label":"Title"},"vAnnotationsTable":{"type":"string","description":"Data page name on Commons, without the Data: prefix. The table must contain \"x\" column, and optional \"text\" and \"color\" columns.","label":"Vertical annotation table"},"filter":{"type":"string","description":"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","label":"Filter"},"yAxisFormat":{"description":"Changes the formatting of the Y axis labels","type":"string","default":",d (for numbers)","label":"Y axis format"},"xAxisFormat":{"description":"Changes the formatting of the X axis labels","type":"string","default":"%b %y (for dates)","label":"X axis format"},"titleXOffset":{"type":"number","description":"Horizontal offset of title position, could be negative, to shift title to the left, or positive to shift title to the right","label":"Title horizontal offset"},"replaceZerosWith":{"type":"number","description":"Replaces 0 values in Y data field. Recommended to be use alongside with yScale=log (else zeros will be filtered out).","label":"Replace zero values"}}}</templatedata>Edit parameter translations