User:Fbstj/gadget/page-history-graph

< User:Fbstj
Revision as of 19:38, 20 August 2019 by Fbstj (talk | contribs) (try)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

<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>