Template:Graph:PageViews

<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": 800,
 "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/wiki.kidzsearch.com/all-access/user/Template%3AGraph%3APageViews/daily/2024102800/2024112700",
     "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,
     "properties": {
       "ticks": {"stroke": {"value": "#666666"} },
       "labels": {"fill": {"value": "#666666"} },
       "axis": {"stroke": {"value": "#666666"}, "strokeWidth": {"value": 2} }
     }
   },
   {
     "type": "y",
     "scale": "y",
     "ticks": 5,
     "grid": true,
     "properties": {
       "ticks": {"stroke": {"value": "#666666"} },
       "labels": {"fill": {"value": "#666666"} },
       "grid": {"stroke": {"value": "#666666"}, "strokeWidth": {"value": 2} },
       "axis": {"stroke": {"value": "#666666"}, "strokeWidth": {"value": 2} }
     }
   }
 ],
 // 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": "step-after"}
       }
     }
   },
   {
     "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": "step-after"}
       }
     }
   }
 ]

}

</graph>

Documentation icon Template documentation[view] [edit] [history] [purge]

This graph's main version resides at MediaWiki Template:Graph:PageViews.

Please make all the changes there and copy it everywhere else (until the copying is automated).

{{ Graph:PageViews }}
30 days for the current page (if there is data)
<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": 800,
 "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/wiki.kidzsearch.com/all-access/user/Template%3AGraph%3APageViews/daily/2024102800/2024112700",
     "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,
     "properties": {
       "ticks": {"stroke": {"value": "#666666"} },
       "labels": {"fill": {"value": "#666666"} },
       "axis": {"stroke": {"value": "#666666"}, "strokeWidth": {"value": 2} }
     }
   },
   {
     "type": "y",
     "scale": "y",
     "ticks": 5,
     "grid": true,
     "properties": {
       "ticks": {"stroke": {"value": "#666666"} },
       "labels": {"fill": {"value": "#666666"} },
       "grid": {"stroke": {"value": "#666666"}, "strokeWidth": {"value": 2} },
       "axis": {"stroke": {"value": "#666666"}, "strokeWidth": {"value": 2} }
     }
   }
 ],
 // 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": "step-after"}
       }
     }
   },
   {
     "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": "step-after"}
       }
     }
   }
 ]

} </graph>

{{ Graph:PageViews | 90 | Main Page | en.wikipedia.org }}
90 days for Main Page on English Wikipedia
<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": 800,
 "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/en.wikipedia.org/all-access/user/Main%20Page/daily/2024082900/2024112700",
     "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,
     "properties": {
       "ticks": {"stroke": {"value": "#666666"} },
       "labels": {"fill": {"value": "#666666"} },
       "axis": {"stroke": {"value": "#666666"}, "strokeWidth": {"value": 2} }
     }
   },
   {
     "type": "y",
     "scale": "y",
     "ticks": 5,
     "grid": true,
     "properties": {
       "ticks": {"stroke": {"value": "#666666"} },
       "labels": {"fill": {"value": "#666666"} },
       "grid": {"stroke": {"value": "#666666"}, "strokeWidth": {"value": 2} },
       "axis": {"stroke": {"value": "#666666"}, "strokeWidth": {"value": 2} }
     }
   }
 ],
 // 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": "step-after"}
       }
     }
   },
   {
     "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": "step-after"}
       }
     }
   }
 ]

} </graph>

{{ Graph:PageViews | 180 | _ }}
Monthly visitors to the current wiki (last 6 months)
<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": 800,
 "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/aggregate/wiki.kidzsearch.com/all-access/user/monthly/2024053100/2024112700",
     "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,
     "properties": {
       "ticks": {"stroke": {"value": "#666666"} },
       "labels": {"fill": {"value": "#666666"} },
       "axis": {"stroke": {"value": "#666666"}, "strokeWidth": {"value": 2} }
     }
   },
   {
     "type": "y",
     "scale": "y",
     "ticks": 5,
     "grid": true,
     "properties": {
       "ticks": {"stroke": {"value": "#666666"} },
       "labels": {"fill": {"value": "#666666"} },
       "grid": {"stroke": {"value": "#666666"}, "strokeWidth": {"value": 2} },
       "axis": {"stroke": {"value": "#666666"}, "strokeWidth": {"value": 2} }
     }
   }
 ],
 // 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": "step-after"}
       }
     }
   },
   {
     "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": "step-after"}
       }
     }
   }
 ]

} </graph>

{{ Graph:PageViews | 180 | _ | all-projects | granularity = daily }}
Daily visitors to all worldwide wikis (last 6 months)
<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": 800,
 "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/aggregate/all-projects/all-access/user/daily/2024053100/2024112700",
     "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,
     "properties": {
       "ticks": {"stroke": {"value": "#666666"} },
       "labels": {"fill": {"value": "#666666"} },
       "axis": {"stroke": {"value": "#666666"}, "strokeWidth": {"value": 2} }
     }
   },
   {
     "type": "y",
     "scale": "y",
     "ticks": 5,
     "grid": true,
     "properties": {
       "ticks": {"stroke": {"value": "#666666"} },
       "labels": {"fill": {"value": "#666666"} },
       "grid": {"stroke": {"value": "#666666"}, "strokeWidth": {"value": 2} },
       "axis": {"stroke": {"value": "#666666"}, "strokeWidth": {"value": 2} }
     }
   }
 ],
 // 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": "step-after"}
       }
     }
   },
   {
     "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": "step-after"}
       }
     }
   }
 ]

} </graph>


<templatedata> { "params": { "1": { "type": "number", "default": "30", "label": "Number of days back", "description": "Number of days back to show in the chart" }, "2": { "label": "Page Title", "description": "Title of the page, with namespace, including needed spaces. If '_' is given, shows the total for the whole site", "type": "wiki-page-name", "default": "Name of the current article page (even if on talk page)", "example": "Main Page" }, "3": { "label": "Domain", "default": "Current wiki", "example": "en.wikipedia.org", "type": "string", "description": "Domain from which to find page views for the given title, if not this wiki. If '_' is given as parameter 2, 'all-projects' can be used here for all wiki sites summary data" }, "color": { "label": "Graph color", "default": "#00f", "example": "#f00", "type": "string", "description": "Shade with which to highlight the data in the chart" }, "scale": { "label": "Graph scale", "description": "Scaling could be one of these: linear, log, pow, sqrt, quantile, quantize, and threshold", "default": "linear", "example": "log", "type": "string" }, "max": { "label": "Maximum Y value axis", "description": "This optional value might be useful to align multiple graphs side-by-side", "default": "Automatically scaled to the data.", "example": "10000", "type": "number" }, "width": { "label": "Width", "description": "Width for the chart in pixels, if different from the default.", "type": "number", "default": "400" }, "height": { "label": "Height", "description": "Height for the chart in pixels, if different from the default.", "type": "number", "default": "200" }, "granularity": { "label": "Granularity", "description": "If the 2nd parameter is '_' (shows site stats), set data granularity monthly, daily, or hourly", "type": "string", "default": "monthly" } }, "paramOrder": [ "1", "2", "3", "color", "scale", "max", "width", "height", "granularity" ], "format": "block", "description": "Inserts a graph with the page views statistics for the past N days of a page." } </templatedata>