Vorlage:Graph:PageViews

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Dokumentation

Diese Vorlage dient zur Anzeige der Aufrufstatistik einer Wikipedia-Seite. Die Vorlage wird auf mediawiki.org unter mw:Template:Graph:PageViews gepflegt und soll nur dort bearbeitet werden. Die vollständige Dokumentation dieser Vorlage befindet sich ebenfalls auf mediawiki.org.

Kopiervorlage[Quelltext bearbeiten]

{{ Graph:PageViews }}
{{ Graph:PageViews | 90 | Wikipedia:Hauptseite }}

Parameter[Quelltext bearbeiten]

  • 1: Anzahl der betrachteten Tage (Standard: 30)
  • 2: Seitenname (Standard: Name der aktuellen Seite)
  • 3: Domain des Wikis (Standard: de.wikipedia.org)
  • weitere siehe mw:Template:Graph:PageViews

Beispiele[Quelltext bearbeiten]

{{ Graph:PageViews }}
{{ Graph:PageViews | 90 | Wikipedia:Hauptseite }}

Werkzeuge[Quelltext bearbeiten]

Bei technischen Fragen zu dieser Vorlage kannst du dich auch an die Vorlagenwerkstatt wenden. Inhaltliche Fragen und Vorschläge gehören zunächst auf die Diskussionsseite. Sie können ggf. auch an eine passende Redaktion, Portal usw. gerichtet werden.

<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": 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/de.wikipedia.org/all-access/user/Vorlage%3AGraph%3APageViews/daily/2019071300/2019081200",
      "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>