Vorlage:Graph:Lines

Aus HuskyWiki

{

 //
 // ATTENTION: This code is maintained at https://www.mediawiki.org/wiki/Template:Graph:Lines
 //            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:Lines
 //
 // Template translation is in https://commons.wikimedia.org/wiki/Data:Original/Template:Graphs.tab
 //
 "version": 5,
 "$schema": "https://vega.github.io/schema/vega/v5.json",
 "width": 400,
 "height": 300,

"padding": "strict",

 "signals": [{"name": "rightwidth", "update": "width + padding.right", "value":"400" }],
 "data": [{
   "name": "chart",
   "url": "https://commons.wikimedia.org/w/api.php?action=jsondata&formatversion=2&title=%7B%7B%7Btable%7D%7D%7D&format=json&origin=*",
   "format": {"type": "json"
     , "property": "data"
     
   },
   "transform": [


     // Convert xField parameter into a field "_xfield"
     {"type": "formula", "as": "_xfield", "expr":

"datetime(datum.year, 0, 1)"

     },
     {"type": "collect", "sort": {"field": ["_xfield"]} }

, {"type": "formula", "as": "_yfield", "expr": "datum.value" }

   ]
 },



 ],
 "scales": [
   {
     "name": "x",
     "type": "time",
     "domain": {"data": "chart", "field": "_xfield"},
     "range": "width",
     


   },
   {
     "name": "y",
     "type": "linear",
     "range": "height",
     "domain": {"data": "chart", "field": "_yfield"},
     
     
     
     
   },
   {
     "name": "color",
     "type": "ordinal",
     "range": {"scheme": "category10"}, 
     "domain": {"data": "chart", "field": "key"}
   },
 ],
 "axes": [
   {
     "scale": "x", "orient": "bottom", "tickSize": 0,
     "tickCount": 7,
     
     
     
     "encode": { 
       "update": { "labels": { 
         
         
       } } 
      }
   },
   {
     "scale": "y", "orient": "left", "tickSize": 0,
     
     
     
     
     "encode": { 
       "labels": { 
         
         
       } 
      }
   }
 ],
 "marks": [
   // Group data by the group parameter or "key", and draw lines, one line per group
   {
     "type": "group",
     "from": {
       "facet": {
         "name": ["key"],
         "data": "chart",
         "groupby": ["key"]
       }
     },
     "marks": [
       {
         "type": "line",
         "from": {"data": ["key"]},
         "encode": {
           "hover": {
             "stroke": {"value": "red"}
           },
           "update": {
             "stroke": {"scale": "color", "field": "key"}
           },
           "enter": {
             "y": {"scale": "y", "field": "_yfield"},
             "x": {"scale": "x", "field": "_xfield"},
             "stroke": {"scale": "color", "field": "key"},
             "interpolate": {"value": "linear"},
             "strokeWidth": {"value": 2.5}
           }
         }
       }
       
     ],
   },



 ]

}