Шаблон:Graph:PageViews

Материал из Викиновостей, свободного источника новостей
Документация

This graph's main version resides at mediawiki Template:Graph:PageViews.

{{ Graph:PageViews }}
30 days for the current page (if there is data)
{{ Graph:PageViews | 90 | Main Page | en.wikipedia.org }}
90 days for Main Page on English Wikipedia

Inserts a graph with the page views statistics for the past N days of a page.

Параметры шаблона[Править данные шаблона]

Шаблон использует строчное форматирование параметров.

ПараметрОписаниеТипСтатус
Number of days back1

без описания

По умолчанию
30
Числопредложенный
Page Title2

Title of the page, with namespace, including needed spaces

По умолчанию
Name of the current article page (even if on talk page)
Пример
Main Page
Имя страницынеобязательный
Domain3

без описания

По умолчанию
Current wiki
Пример
en.wikipedia.org
Строковый (без форматирования)необязательный
Graph colorcolor

без описания

По умолчанию
#00f
Пример
#f00
Строковый (без форматирования)необязательный
Graph scalescale

Scaling could be one of these: linear, log, pow, sqrt, quantile, quantize, and threshold

По умолчанию
linear
Пример
log
Строковый (без форматирования)необязательный
Fix maximum value of the Y axismax

This optional value might be useful to align multiple graphs side-by-side

По умолчанию
auto
Пример
10000
Числонеобязательный


<graph>

{
  "version": 2,
  "width": 400,
  "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/ru.wikinews.org/all-access/user/%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%3AGraph%3APageViews/daily/2024030704/2024040604",
      "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},
    {"type": "y", "scale": "y", "ticks": 5, "grid": true}
  ],

  // 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": "#00f"},
          "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": "#00f"},
          "fillOpacity": {"value": 0.35},
          "interpolate": {"value": "monotone"}
        }
      }
    }
  ]
}

</graph>