Template:Graph:PageViews: Difference between revisions

From FamilySearch Wiki
(Created page with "{{#tag:graph| { // // ATTENTION: This code is maintained at https://www.mediawiki.org/wiki/Template:Graph:PageViews // Please do not modify it anywhere else,...")
 
No edit summary
Line 1: Line 1:
{{#tag:graph|
<includeonly>{{#tag:graph|</includeonly><noinclude>{{documentation}}<syntaxhighlight lang=html><graph></syntaxhighlight>{{#tag:syntaxhighlight|</noinclude>
{
{
   //
   //
Line 66: Line 66:
       "ticks": 5,
       "ticks": 5,
       "properties": {
       "properties": {
         "ticks": {"stroke": {"value": "#666666"} },
         "ticks": {"stroke": {"value": "#54595d"} },
         "labels": {"fill": {"value": "#666666"} },
         "labels": {"fill": {"value": "#54595d"} },
         "axis": {"stroke": {"value": "#666666"}, "strokeWidth": {"value": 2} }
         "axis": {"stroke": {"value": "#54595d"}, "strokeWidth": {"value": 2} }
       }
       }
     },
     },
Line 77: Line 77:
       "grid": true,
       "grid": true,
       "properties": {
       "properties": {
         "ticks": {"stroke": {"value": "#666666"} },
         "ticks": {"stroke": {"value": "#54595d"} },
         "labels": {"fill": {"value": "#666666"} },
         "labels": {"fill": {"value": "#54595d"} },
         "grid": {"stroke": {"value": "#666666"}, "strokeWidth": {"value": 2} },
         "grid": {"stroke": {"value": "#54595d"}, "strokeWidth": {"value": 2} },
         "axis": {"stroke": {"value": "#666666"}, "strokeWidth": {"value": 2} }
         "axis": {"stroke": {"value": "#54595d"}, "strokeWidth": {"value": 2} }
       }
       }
     }
     }
Line 94: Line 94:
           "x": {"scale": "x","field": "date"},
           "x": {"scale": "x","field": "date"},
           "y": {"scale": "y","field": "views"},
           "y": {"scale": "y","field": "views"},
           "stroke": {"value": "{{{color|#00f}}}"},
           "stroke": {"value": "{{{color|#36c}}}"},
           "strokeWidth": {"value": 3},
           "strokeWidth": {"value": 3},
           "interpolate": {"value": "{{{interpolate|monotone}}}"}
           "interpolate": {"value": "{{{interpolate|monotone}}}"}
Line 108: Line 108:
           "y": {"scale": "y","value": 0},
           "y": {"scale": "y","value": 0},
           "y2": {"scale": "y","field": "views"},
           "y2": {"scale": "y","field": "views"},
           "fill": {"value": "{{{color|#00f}}}"},
           "fill": {"value": "{{{color|#36c}}}"},
           "fillOpacity": {"value": 0.35},
           "fillOpacity": {"value": 0.35},
           "interpolate": {"value": "{{{interpolate|monotone}}}"}
           "interpolate": {"value": "{{{interpolate|monotone}}}"}
Line 116: Line 116:
   ]
   ]
}
}
}}<noinclude>{{documentation}}</noinclude>
<includeonly>}}</includeonly><noinclude>|lang=javascript}}<syntaxhighlight lang=html></graph></syntaxhighlight></noinclude>

Revision as of 10:28, 17 May 2022

[create] Documentation icon Template documentation
<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/integration-ru.familysearch.org


[[Category:Templates]]/all-access/user/Template%3AGraph%3APageViews/daily/2025080400/2025090300",
      "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": "#54595d"} },
        "labels": {"fill": {"value": "#54595d"} },
        "axis": {"stroke": {"value": "#54595d"}, "strokeWidth": {"value": 2} }
      }
    },
    {
      "type": "y",
      "scale": "y",
      "ticks": 5,
      "grid": true,
      "properties": {
        "ticks": {"stroke": {"value": "#54595d"} },
        "labels": {"fill": {"value": "#54595d"} },
        "grid": {"stroke": {"value": "#54595d"}, "strokeWidth": {"value": 2} },
        "axis": {"stroke": {"value": "#54595d"}, "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": "#36c"},
          "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": "#36c"},
          "fillOpacity": {"value": 0.35},
          "interpolate": {"value": "monotone"}
        }
      }
    }
  ]
}
</graph>