User:Fbstj/gadget/page-history-graph
<graph> {
// // ATTENTION: This code is maintained at https://www.mediawiki.org/wiki/Template:Graph:PageHistory // 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:PageHistory // The graph uses Query API https://www.mediawiki.org/w/api.php?action=help&modules=query%2Brevisions //
"version": 2, "width": 500, "height": 300,
// Loads last max (500) revisions of the given (or current) article "data": [ { "name": "values", "url": "wikiapi://coppermind.net/?action=query&format=json&formatversion=2&prop=revisions&titles=User%3AFbstj%2Fgadget%2Fpage-history-graph&rvlimit=max&rvprop=timestamp|user|size&rawcontinue", "format": { "type": "json", "property": "query.pages.[0].revisions", "parse": {"timestamp": "date","size": "number"} }, }, { "name": "stats", "source": "values", "transform": [{"type": "aggregate", "groupby": ["timestamp"], "summarize": {"size": "sum"} }] } ],
"scales": [ { "name": "x", "type": "time", "range": "width", "domain": {"data": "values","field": "timestamp"} }, { "name": "y", "type": "linear", "range": "height", "nice": true, "domain": {"data": "stats","field": "sum_size"} }, { "name": "color", "type": "ordinal", "range": "category20", "domain": {"data": "values","field": "user"} }],
"axes": [ { "type": "x", "scale": "x", "tickSizeEnd": 0, "grid": true, "subdivide": 2, "properties": { "ticks": {"stroke": {"value": "#666666"} }, "labels": {"fill": {"value": "#666666"},"angle": {"value": 30},"align": {"value": "left"} }, "grid": {"stroke": {"value": "#cacaca"} }, "axis": {"stroke": {"value": "#666666"},"strokeWidth": {"value": 2} } } }, { "type": "y", "scale": "y", "grid": true, "title": "Page size (bytes)", "properties": { "ticks": {"stroke": {"value": "#666666"} }, "labels": {"fill": {"value": "#666666"} }, "grid": {"stroke": {"value": "#cacaca"} }, "axis": {"stroke": {"value": "#666666"},"strokeWidth": {"value": 2} } } }],
"legends": [{ "fill": "color", "title": "User", "offset": 10, "properties": {"symbols": {"stroke": {"value": "transparent"} } } }],
"marks": [ { "type": "line", "from": {"data": "values"}, "properties": { "enter": { "x": {"scale": "x","field": "timestamp"}, "y": {"scale": "y","field": "size"}, "stroke": {"value": "#000"}, "strokeWidth": {"value": 1} } } }, { "type": "symbol", "from": {"data": "values"}, "properties": { "enter": { "x": {"scale": "x","field": "timestamp"}, "y": {"scale": "y","field": "size"}, "fill": {"scale": "color", "field": "user"}, "size": {"value": 15}, "stroke": {"scale": "color", "field": "user"} } } }]
} </graph>