Template:Graph:Lines

From MediaWiki.org
Jump to navigation Jump to search
Documentation icon Template documentation[view] [edit] [history] [purge]

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)

{{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 | legend=Age group
}}

See or edit raw graph data.


{{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=Paintings by decade
}}

See source Wikidata query.


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(?population) AS ?population) WHERE {
      {
        SELECT ?country (YEAR(?date) AS ?year) ?population WHERE {
          ?country wdt:P47 wd:Q183.
          ?country p:P1082 ?populationStatement.
          ?populationStatement ps:P1082 ?population.
          ?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=Population of countries bordering Germany
| legend=- | xGrid=y | yGrid=y | yTicks=7 | width=600
}}

See source Wikidata query.

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.

Template parameters

ParameterDescriptionTypeStatus
Table typetabletype

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.

Default
tab
Stringoptional
Tabletable

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

Stringrequired
X axis typetype

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)

Default
year
Stringsuggested
X fieldxField

Id of the data column that contains values for the X axis. If type=year, xField is also "year" by default.

Stringrequired
Seriesseries

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".

Stringoptional
Groupgroup

If line color depends on just one column, specify that column's ID, instead of the series parameter.

Stringoptional
Valuevalue

If line color depends on one column, this parameter should be set to the column which has the values

Stringoptional
X axis starts at 0xZero

Force to start or not to start X axis with zero. Can be either true or false

Stringoptional
Y axis zero starts at 0yZero

Force to start or not to start Y axis with zero. Can be either true or false

Stringoptional
X axis minimumxMin

Force X axis to start from this value

Unknownoptional
X axis maximumxMax

Force X axis to end with this value

Unknownoptional
Y axis minimumyMin

Force Y axis to start from this value

Unknownoptional
Y axis maximumyMax

Force Y axis to end with this value

Unknownoptional
Titletitle

Title of the whole graph

Stringoptional
X axis titlexAxis

Title of the X axis

Stringoptional
Y axis titleyAxis

Title of the Y axis

Stringoptional
X axis gridxGrid

Show grid lines for X axis

Booleanoptional
Y axis gridyGrid

Show grid lines for Y axis

Booleanoptional
X axis ticksxTicks

How many ticks to show on X axis. 7 by default. '-' value makes it automatic.

Default
7
Numberoptional
Y axis ticksyTicks

How many ticks to show on Y axis. Auto '-' by default.

Default
-
Numberoptional
Legendlegend

Title of the legend

Stringoptional
Widthwidth

no description

Numberoptional
heightheight

no description

Numberoptional
Colorscolors

The colors of the lines, specified as Vega defined rangeliteral. This can also be a list like [ "red", "green" ]

Default
"category10"
Stringoptional
Debugdebug

Debug output: if set, will show graph as raw JSON

Stringoptional
Edit parameter translations
<graph>
{
  //
  // 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"}],
  "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"]},

    ]
  },

  ],
  "scales": [
    {
      "name": "x",
      "type": "time",
      "domain": {"data": "chart", "field": "_xfield"},
      "range": "width",



    },
    {
      "name": "y",
      "type": "linear",
      "range": "height",
      "domain": {"data": "chart", "field": "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



}
  ],

  "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": {
            "enter": {
              "y": {"scale": "y", "field": "value"},
              "x": {"scale": "x", "field": "_xfield"},
              "stroke": {"scale": "color", "field": "key"},
              "interpolate": {"value": "monotone"},
              "strokeWidth": {"value": 2.5}
            }
          }
        }
      ],
    }


  ]
}
</graph>