ሞደል:PageViews graph
መልክዕ
| This template's documentation is missing, inadequate, or does not accurately describe its functionality or the parameters in its code. Please help add, expand, or improve it. See talk page for details. |
<graph>
{
//
// ATTENTION: This code is maintained at https://www.mediawiki.org/wiki/Template:Graph:PageViews
// 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:PageViews
// The graph uses PageViews API https://wikitech.wikimedia.org/wiki/Analytics/PageviewAPI
//
"version": 2,
"width": 400,
"height": 200,
// The data for this graph comes from the PageView API. The request is made for N days back up to now.
"data": [
{
"name": "pageviews",
"url": "wikirest://wikimedia.org/api/rest_v1/metrics/pageviews/per-article/ti.wikipedia.org/all-access/user/%E1%88%9E%E1%8B%B0%E1%88%8D%3APageViews%20graph/daily/2026091200/2026101200",
"format": {
"type": "json",
"property": "items"
},
// The response is parsed here, converting date strings of form "20160223" into date 2016-02-23
"transform": [
{ "type": "formula", "field": "year", "expr": "parseInt(substring(datum.timestamp,0,4))" },
{ "type": "formula", "field": "month", "expr": "parseInt(substring(datum.timestamp,4,6))" },
{ "type": "formula", "field": "day", "expr": "parseInt(substring(datum.timestamp,6,8))" },
{ "type": "formula", "field": "date", "expr": "datetime(datum.year,datum.month-1,datum.day)" }
]
}
],
"scales": [
// The dates are scaled to the "x" axis - the width of the graph
{
"name": "x",
"type": "time",
"range": "width",
"domain": {"data": "pageviews","field": "date"}
},
// The pageviews 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": "pageviews","field": "views"},
"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}
],
// The graph is drawn with two elements a thick line at the top, and a semi-transparent area below
"marks": [
{
"type": "line",
"from": {"data": "pageviews"},
"properties": {
"enter": {
"x": {"scale": "x","field": "date"},
"y": {"scale": "y","field": "views"},
"stroke": {"value": "#00f"},
"strokeWidth": {"value": 3},
"interpolate": {"value": "monotone"}
}
}
},
{
"type": "area",
"from": {"data": "pageviews"},
"properties": {
"enter": {
"x": {"scale": "x","field": "date"},
"y": {"scale": "y","value": 0},
"y2": {"scale": "y","field": "views"},
"fill": {"value": "#00f"},
"fillOpacity": {"value": 0.35},
"interpolate": {"value": "monotone"}
}
}
}
]
}
</graph>