قالب:Graph:Population history/شرح

من أرابيكا، الموسوعة الحرة
اذهب إلى التنقل اذهب إلى البحث

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)

استعمال

{{Graph:Population history
| debug = 
| width = 
| height = 
| table = 
| values = 
| 1 = 
| filter = 
| atable = 
| avalues = 
| scale = 
| max = 
| orient = 
| color = 
| interpolate = 
| title = 
}}
{{Graph:Population history|Q84}}
Show London's population history from Wikidata
<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%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%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>

{{Graph:Population history

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

<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": "tabular:///Wikidata/St.Petersburg.tab",

     "format": {"type": "json", "property": "data"},
     // 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",

"url": "tabular:///Original/St.Petersburg population annotations.tab",

     "format": {"type": "json", "property": "data"},
     "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>

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

وسائط القالب[تحرير بيانات القالب]

هذا القالب يفضل التنسيق الرأسي للوسائط.

وسيطوصفنوعحالة
City Wikidata ID1

Wikidata ID of the city or region

غيابي
Q84
نصاختياري
Title of the data page on Commonstable

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

نصاختياري
Raw values for this graphvalues

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

غير معروفاختياري
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.

نصاختياري
Raw annotation valuesavalues

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

غير معروفاختياري
Filter expressionfilter

Optionally, filter the data with an expression, e.g. datum.year >= 1900 && datum.year < 2000

غير معروفاختياري
Graph colorcolor

Shade with which to highlight the data in the chart

غيابي
#00f
مثال
#f00
نصاختياري
Interpolateinterpolate

How data points should be connected, e.g. linear, step-before, step-after, basis, basis-open, cardinal, cardinal-open, monotone

غيابي
monotone
مثال
linear
نصاختياري
Graph scalescale

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

غيابي
linear
مثال
log
نصاختياري
Maximum Y value axismax

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

غيابي
Automatically scaled to the data.
مثال
10000
رقماختياري
Widthwidth

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

غيابي
400
رقماختياري
Heightheight

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

غيابي
200
رقماختياري