Mall:Rahvaarvu muutumine

Malli dokumentatsioon


This graph's main version resides at mediawiki Template:Graph:Population_history. Please make all the changes there and copy it everywhere else (until the copying is automated)

{{Rahvaarvu muutumine|Q993014}}
Viimsi valla rahvaarvu muutus from Wikidata
{{Rahvaarvu muutumine

| table=Wikidata/St.Petersburg.tab
| atable=Original/St.Petersburg population annotations.tab}}
Show population of St.Petersburg from the table on Commons, with annotations

Inserts a graph with the population history for the given city.

Malli parameetrid[Muuda malliandmeid]

Selle malli juures eelistatakse parameetrite vormistamist plokina.

ParameeterKirjeldusTüüpOlek
City Wikidata ID1

Wikidata ID of the city or region

Vaikimisi
Q84
Sõnevalikuline
Title of the data page on Commonstable

Data page name on Commons, without the Data: prefix. The table must contain "year" and "population" columns.

Sõnevalikuline
Raw values for this graphvalues

Supply all values as a list of JSON objects: {"year":1980, "population":1000}, {"year":1984, "population":1045}, ...

Teadmatavalikuline
Title of the annotations data page on Commonsatable

Data page name on Commons, without the Data: prefix. The table must contain "year" column, and optional "text" and "color" columns.

Sõnevalikuline
Raw annotation valuesavalues

Supply all annotation values as a list of JSON objects: {"year":1980, "text":"Big event"}, ...

Teadmatavalikuline
Graph colorcolor

Shade with which to highlight the data in the chart

Vaikimisi
#00f
Näide
#f00
Sõnevalikuline
Graph scalescale

Scaling could be one of these: linear, log, pow, sqrt, quantile, quantize, and threshold

Vaikimisi
linear
Näide
log
Sõnevalikuline
Maximum Y value axismax

This optional value might be useful to align multiple graphs side-by-side

Vaikimisi
Automatically scaled to the data.
Näide
10000
Arvvalikuline
Widthwidth

Width for the chart in pixels, if different from the default.

Vaikimisi
400
Arvvalikuline
Heightheight

Height for the chart in pixels, if different from the default.

Vaikimisi
200
Arvvalikuline
<graph>
{
  //
  // ATTENTION: This code is maintained at https://www.mediawiki.org/wiki/Template:Graph:Population_history
  //            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:Population_history
  //

  "version": 2,
  "width": 400,
  "height": 200,

  // The population data could be from Commons dataset, Wikidata, or hardcoded values
  "data": [
    {
      "name": "table",
"url": "wikidatasparql:///?query=SELECT%20%28MAX%28%3Fpopulation_entry%29%20as%20%3Fpopulation%29%20%3Fyear%20WHERE%20%7B%0A%20%20%20%20%23%20set%20the%20item%20here%20-%20e.g.%20city%2C%20country%0A%09BIND%28wd%3AQ84%20as%20%3Fitem%29%0A%20%20%20%20%3Fitem%20p%3AP1082%20%3Fpopstatement%20.%0A%20%20%20%20%3Fpopstatement%20ps%3AP1082%20%3Fpopulation_entry%20.%0A%20%20%20%20OPTIONAL%20%7B%0A%20%20%20%20%20%20%3Fpopstatement%20pq%3AP585%20%3Fdate%20.%0A%20%20%20%20%20%20BIND%28year%28%3Fdate%29%20as%20%3Fyear%29%0A%20%20%20%20%7D%0A%7D%20GROUP%20BY%20%3Fyear%20ORDER%20BY%20ASC%28%3Fyear%29",
      "format": { "type": "json" },
      // Convert year integer (2016) into a date object (2016-01-01)
      "transform": [
      	// Optionally filter data with an template expression parameter
      	// e.g.  filter = datum.year > 1900 && datum.year < 2000

      	{ "type": "formula", "field": "date", "expr": "datetime(datum.year,0,1)" }
      ]
    },

    // Each annotation is expected to be an integer year, string text,
    // and optional string color (e.g. "#4d2800")
    {
      "name": "annotations",
"values": [],
      "transform": [
        { "type": "formula", "field": "date", "expr": "datetime(datum.year,0,1)" },
        { "type": "formula", "field": "color", "expr": "datum.color||'#000'" }
      ]
    }
  ],

  "scales": [
    // The dates are scaled to the "x" axis - the width of the graph
    {
      "name": "x",
      "type": "time",
      "range": "width",
      "domain": {"data": "table","field": "date"}
    },
    // The population are scaled to the "y" axis - the height of the graph
    // Optional scale parameter can change "linear" to other scales like log
    // Optional max parameter can fix the upper bound of the graph
    {
      "name": "y",
      "type": "linear",
      "range": "height",
      "domain": {"data": "table","field": "population"},
      "clamp": true,

      "nice": true
    }
  ],

  // Simple axis with horizontal grid lines
  "axes": [
    {"type": "x", "scale": "x", "ticks": 5},
    {"type": "y", "scale": "y", "ticks": 5, "grid": true, "orient":"right"}
  ],

  // The graph is drawn with two elements a thick line at the top,
  // and a semi-transparent area below
  "marks": [
    {
      "type": "area",
      "from": {"data": "table"},
      "properties": {
        "enter": {
          "x": {"scale": "x", "field": "date"},
          "y": {"scale": "y", "value": 0},
          "y2": {"scale": "y", "field": "population"},
          "fill": {"value": "#99B2CC"},
          "fillOpacity": {"value": 0.35},
          "interpolate": {"value": "monotone"}
        }
      }
    },
    // If annotations are given, draw dashed line with associated text
    {
      "type": "rule",
      "from": {"data": "annotations"},
      "properties": {
        "enter": {
          "x": {"scale": "x", "field":"date"},
          "y": {"value": 0},
          "y2": {"signal": "height"},
          "stroke": {"field": "color"},
          "strokeWidth": {"value": 2},
          "opacity": {"value": 0.6},
          "strokeDash": {"value": [8,3]}
        }
      }
    },
    {
      "type": "line",
      "from": {"data": "table"},
      "properties": {
        "enter": {
          "x": {"scale": "x","field": "date"},
          "y": {"scale": "y","field": "population"},
          "stroke": {"value": "#99B2CC"},
          "strokeWidth": {"value": 3},
          "interpolate": {"value": "monotone"}
        }
      }
    },
    // The small white circles should be drawn after annotations but before text
    {
      "type": "symbol",
      "from": {"data": "table"},
      "properties": {
        "enter": {
          "x": {"scale": "x","field": "date"},
          "y": {"scale": "y","field": "population"},
          "stroke": {"value": "#99B2CC"},
          "fill": {"value": "#fff"},
          "size": {"value": 30}
        }
      }
    },
    // Annotation text
    {
      "type": "text",
      "from": {"data": "annotations"},
      "properties": {
        "enter": {
          "x": {"scale": "x", "field":"date"},
          "y": {"value": 0},
          "align": {"value": "right"},
          "baseline": {"value": "bottom"},
          "angle": {"value": 270},
          "dx": {"value": -4},
          "dy": {"value": -2},
          "text": {"field": "text"},
          "stroke": {"field": "color"}
        }
      }
    }

  ]
}
</graph>