Template:Page views double/testcases
![]() | This is the template test cases page for the sandbox of Template:Page views double. to update the examples. If there are many examples of a complicated template, later ones may break due to limits in MediaWiki; see the HTML comment "NewPP limit report" in the rendered page. You can also use Special:ExpandTemplates to examine the results of template uses. You can test how this page looks in the different skins and parsers with these links: |
__EXPECTUNUSEDTEMPLATE__
Test case 1
This page
{{Page views double}}
![]() | Daily pageviews of this page Last six months (log scale) <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": 470, "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/enwiki.freddythechick.net/all-access/user/Template%3APage%20views%20double%2Ftestcases/daily/2024110700/2025050800", "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": "log", "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": "#f30"}, "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": "#f30"}, "fillOpacity": {"value": 0.35}, "interpolate": {"value": "monotone"} } } } ] } </graph> Last 30 days (linear scale) <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": 470, "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/enwiki.freddythechick.net/all-access/user/Template%3APage%20views%20double%2Ftestcases/daily/2025040800/2025050800", "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": "#0c6"}, "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": "#0c6"}, "fillOpacity": {"value": 0.35}, "interpolate": {"value": "monotone"} } } } ] } </graph> |
Test case 2
Note: this test won't work until a couple of days have passed so some data can be acquired.
This page, expanded
{{Page views double|expanded=true}}
![]() | Daily pageviews of this page Last six months (log scale) <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": 470, "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/enwiki.freddythechick.net/all-access/user/Template%3APage%20views%20double%2Ftestcases/daily/2024110700/2025050800", "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": "log", "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": "#f30"}, "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": "#f30"}, "fillOpacity": {"value": 0.35}, "interpolate": {"value": "monotone"} } } } ] } </graph> Last 30 days (linear scale) <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": 470, "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/enwiki.freddythechick.net/all-access/user/Template%3APage%20views%20double%2Ftestcases/daily/2025040800/2025050800", "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": "#0c6"}, "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": "#0c6"}, "fillOpacity": {"value": 0.35}, "interpolate": {"value": "monotone"} } } } ] } </graph> |
Test case 3
Specified target (Pancake), logarithmic scale, top orange and bottom blue (collapsed)
{{Page views double|color1=orange |color2=cobalt |days1=150 |target=Pancake}}
![]() | Last 150 days (log scale) <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": 470, "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/enwiki.freddythechick.net/all-access/user/Pancake/daily/2024120900/2025050800", "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": "log", "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": "orange"}, "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": "orange"}, "fillOpacity": {"value": 0.35}, "interpolate": {"value": "monotone"} } } } ] } </graph> Last 30 days (linear scale) <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": 470, "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/enwiki.freddythechick.net/all-access/user/Pancake/daily/2025040800/2025050800", "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": "cobalt"}, "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": "cobalt"}, "fillOpacity": {"value": 0.35}, "interpolate": {"value": "monotone"} } } } ] } </graph> |
Test case 4
target page "Rubber duck", linear scale, and both red (uncollapsed)
{{Page views double|color1=red |color2=red |days1=30 |days2=90 |expanded=true |scale1=linear |target=Rubber duck}}
![]() | Last 30 days (linear scale) <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": 470, "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/enwiki.freddythechick.net/all-access/user/Rubber%20duck/daily/2025040800/2025050800", "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": "red"}, "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": "red"}, "fillOpacity": {"value": 0.35}, "interpolate": {"value": "monotone"} } } } ] } </graph> Last 90 days (linear scale) <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": 470, "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/enwiki.freddythechick.net/all-access/user/Rubber%20duck/daily/2025020700/2025050800", "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": "red"}, "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": "red"}, "fillOpacity": {"value": 0.35}, "interpolate": {"value": "monotone"} } } } ] } </graph> |
Test case 5a height
target page "Rubber duck", linear scale, higher (collapsed)
{{Page views double|height=300 |target=Rubber duck}}
![]() | Last six months (log scale) <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": 470, "height": 300, // 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/enwiki.freddythechick.net/all-access/user/Rubber%20duck/daily/2024110700/2025050800", "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": "log", "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": "#f30"}, "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": "#f30"}, "fillOpacity": {"value": 0.35}, "interpolate": {"value": "monotone"} } } } ] } </graph> Last 30 days (linear scale) <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": 470, "height": 300, // 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/enwiki.freddythechick.net/all-access/user/Rubber%20duck/daily/2025040800/2025050800", "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": "#0c6"}, "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": "#0c6"}, "fillOpacity": {"value": 0.35}, "interpolate": {"value": "monotone"} } } } ] } </graph> |
- (working in rev. 1004349861)
Test case 5b width
target page 'Rubber duck', linear scale, wider (collapsed)
{{Page views double|target=Megan Thee Stallion |width=700}}
![]() | Last six months (log scale) <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": 700, "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/enwiki.freddythechick.net/all-access/user/Megan%20Thee%20Stallion/daily/2024110700/2025050800", "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": "log", "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": "#f30"}, "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": "#f30"}, "fillOpacity": {"value": 0.35}, "interpolate": {"value": "monotone"} } } } ] } </graph> Last 30 days (linear scale) <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": 700, "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/enwiki.freddythechick.net/all-access/user/Megan%20Thee%20Stallion/daily/2025040800/2025050800", "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": "#0c6"}, "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": "#0c6"}, "fillOpacity": {"value": 0.35}, "interpolate": {"value": "monotone"} } } } ] } </graph> |
- Success – (working in rev. 1004349861)
Test case 6
target page 'Pancake', flip the graphs (six-month red log graph on bottom); collapsed)
{{Page views double|color1=#0c6 |color2=#f30 |days1=30 |days2=182 |scale1=linear |scale2=log |target=Pancake}}
![]() | Last 30 days (linear scale) <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": 470, "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/enwiki.freddythechick.net/all-access/user/Pancake/daily/2025040800/2025050800", "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": "#0c6"}, "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": "#0c6"}, "fillOpacity": {"value": 0.35}, "interpolate": {"value": "monotone"} } } } ] } </graph> Last 182 days (log scale) <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": 470, "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/enwiki.freddythechick.net/all-access/user/Pancake/daily/2024110700/2025050800", "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": "log", "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": "#f30"}, "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": "#f30"}, "fillOpacity": {"value": 0.35}, "interpolate": {"value": "monotone"} } } } ] } </graph> |
- Success – works in rev 1004349861, but bottom graph says '182 days' not 'six months', but maybe that's a feature, as it wasn't designed to replace the interval on the bottom graph.