Предлошка:Graph:Stacked

Од Википедија — слободната енциклопедија
Икона за документација Документација за предлошка[преглед] [уреди] [историја] [превчитај]

This graph's main version resides at mw:Template:Graph:Stacked. Please make or suggest all the changes there, and copy it everywhere else (until the copying is automated)

{{Graph:Stacked

| table=Bea.gov/GDP by state.tab
| type=year | xField=year | barwidth=14
| series="TX","NY","CA"
| title=Per state GDP
}}

{{Graph:Stacked

| table=Bea.gov/GDP by state.tab
| type=year | xField=year | legend=States
| series="TX","NY","CA"
| title=Per state GDP
}}

See or edit source data.
See or edit source data.
{{Graph:Stacked
| tabletype=query | table=
SELECT ?decade (COUNT(?decade) AS ?count) WHERE {
  ?item wdt:P31 wd:Q3305213 .
  ?item wdt:P571 ?inception .
  BIND( year(?inception) as ?year ). 
  BIND( ROUND(?year/10)*10 as ?decade ) .
  FILTER( ?year > 1400)
} GROUP BY ?decade ORDER BY ?decade

| series="count" | type=year | xField=decade
| title=Paintings by decade
}}

{{Graph:Stacked
| tabletype=query | table=
SELECT   ?year  (COUNT(?_genre) AS ?count ) (SAMPLE(?_genreLabel) AS ?label ) WHERE {
  ?item wdt:P31 wd:Q11424.
  ?item wdt:P577 ?_publication_date.
  ?item wdt:P136 ?_genre.
  ?_genre rdfs:label ?_genreLabel.
  BIND(str(YEAR(?_publication_date)) AS ?year)
  FILTER((LANG(?_genreLabel)) = "en")
  
 FILTER (?_publication_date >= "2000-00-00T00:00:00Z"^^xsd:dateTime)
}
GROUP BY ?_genreLabel ?year
HAVING (?count > 30)

| type=year | xField=year | group=label | value=count | legend=-
| title=Number of films by year and genre
| xGrid=y | yGrid=y | colors="category20" | height=460 | barwidth=16
}}

This graph draws one or more independent numeric data series as either bar or area slices, stacked one on top of the other. The data must be stored on Commons' Data namespace or come from Wikidata Query Service.

Предложни параметри

ПараметарОписТипСтатус
Table typetabletype

Specifies the type of the table data. "tab" (default) uses data namespace on commons, without the data: prefix. "query" sends request to wikidata query service.

По основно
tab
Низанезадолжително
Tabletable

Data page name on Commons, without the Data: prefix. The table should contain xField column, like year or date, and one or more series columns to plot. If tabletype parameter is set to "query", this value is the query

Низазадолжително
X axis typetype

Type of the x axis - time (e.g. "2015-10" or "2013-03-08), year (integer, but treated as a year), linear (numbers), ordinal (anything)

По основно
year
Низапредложен
X fieldxField

Id of the data column that contains values for the X axis. If type=year, xField is also "year" by default.

Низазадолжително
Seriesseries

If each slice is represented by a separate column of data (or if there is only one column), list of the data columns to show as lines. Must be in quotes, and listed by field IDs if coming from a .tab page: "field1", "field2", "field3".

Низанезадолжително
Groupgroup

If slice color depends on just one column, specify that column's ID, instead of the series parameter.

Низанезадолжително
Valuevalue

If slice color depends on one column, this parameter should be set to the column which has the values

Низанезадолжително
Filterfilter

Optionally filter data with an template expression parameter e.g. `filter = datum.some_dataset_field > 1900 && datum.some_dataset_field < 2000` where `some_dataset_field` means some valid field of displayed dataset

Низанезадолжително
Bar widthbarwidth

If set, show graph with bars instead of areas. If set, must be either an integer pixel width of the bars, or when type=ordinal, can also be set to 'auto'

Низанезадолжително
X axis starts at 0xZero, xAxisZero

Force to start or not to start X axis with zero. Can be either true or false

Низанезадолжително
Y axis zero starts at 0yZero, yAxisZero

Force to start or not to start Y axis with zero. Can be either true or false

Низанезадолжително
X axis scale clampxAxisClamp

нема опис

Буловнезадолжително
Y axis scale clampyAxisClamp

нема опис

Буловнезадолжително
X axis minimumxMin, xAxisMin

Force X axis to start from this value

Непознатнезадолжително
X axis maximumxMax, xAxisMax

Force X axis to end with this value

Непознатнезадолжително
Y axis minimumyMin, yAxisMin

Force Y axis to start from this value

Непознатнезадолжително
Y axis maximumyMax, yAxisMin

Force Y axis to end with this value

Непознатнезадолжително
Titletitle

Title of the whole graph

Низанезадолжително
Title horizontal alignmenttitleXAlign

Horizontal alignment of title, could be one of: left, center, right

Низанезадолжително
Title horizontal offsettitleXOffset

Horizontal offset of title position, could be negative, to shift title to the left, or positive to shift title to the right

Бројнезадолжително
X axis titlexAxis, xAxisTitle

Title of the X axis

Низанезадолжително
Y axis titleyAxis, yAxisTitle

Title of the Y axis

Низанезадолжително
X axis labels anglexAxisAngle

Rotates the x axis labels by the specified angle. Recommended values are: -45, +45, -90, +90.

Бројнезадолжително
Y axis labels angleyAxisAngle

Rotates the y axis labels by the specified angle.

Бројнезадолжително
X axis labels font sizexAxisFontSize

нема опис

Бројнезадолжително
Y axis labels font sizeyAxisFontSize

нема опис

Бројнезадолжително
X axis gridxGrid

Show grid lines for X axis

Буловнезадолжително
Y axis gridyGrid

Show grid lines for Y axis

Буловнезадолжително
X axis ticksxTicks, xAxisTicks

How many ticks to show on X axis. 7 by default. '-' value makes it automatic.

Бројнезадолжително
Y axis ticksyTicks, yAxisTicks

How many ticks to show on Y axis. Auto '-' by default.

Бројнезадолжително
Raw vertical annotation valuesvAnnotationsValues

Supply all annotation values as a list of JSON objects: {"text": "Big event", "x": 1980}, ...

Низанезадолжително
Raw horizontal annotation valueshAnnotationsValues

Supply all horizontal annotation values as a list of JSON objects: {"text":"Big event", "y": 980}, ...

Низанезадолжително
Vertical annotation tablevAnnotationsTable

Data page name on Commons, without the Data: prefix. The table must contain "x" column, and optional "text" and "color" columns.

Низанезадолжително
Horizontal annotation tablehAnnotationsTable

Data page name on Commons, without the Data: prefix. The table must contain "y" column, and optional "text" and "color" columns.

Низанезадолжително
Vertical annotation data transformsvAnnotationsTransforms

нема опис

Низанезадолжително
Horizontal annotation data transformshAnnotationsTransforms

нема опис

Низанезадолжително
Legendlegend

Title of the legend

Низанезадолжително
Widthwidth

нема опис

Бројнезадолжително
Heightheight

нема опис

Бројнезадолжително
Chart sizing modechartSizing

Chart sizing mode, could be one of: fit, pad. Vega default mode is `pad`. Use `fit` to force resulting chart canvas sizes to be exactly equal to provided width and height values. Use `pad` (or omit this parameter at all) to define prefered plotting size with provided width and height values, and let Vega increase overall chart size to include legend and title (if any)

Низанезадолжително
Colorscolors

The colors of the areas or bars, specified as Vega defined rangeliteral. This can also be a list like colors = [ "red", "green" ] or simply colors = red, green

По основно
"category10"
Низанезадолжително
debugdebug

if set, will show graph as raw JSON

Низанезадолжително
Уреди параметарски преводи
<graph>
{
  //
  // ATTENTION: This code is maintained at https://www.mediawiki.org/wiki/Template:Graph:Stacked
  //            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:Graph:Stacked
  //
  // Template translation is in https://commons.wikimedia.org/wiki/Data:Original/Template:Graphs.tab
  //

  "version": 2,
  "width": 550,
  "height": 250,
  // Parameter to controls how width/height should be interpreted.
  // See Vega 2.x "padding" https://vega.github.io/vega/docs/porting-guide/#layout
  // and Vega x.x "autosize" https://vega.github.io/vega-lite/docs/size.html#autosize
  // and CSS attribute "box-sizing" https://developer.mozilla.org/docs/Web/CSS/box-sizing
  // for references


  "data": [

    {
      "name": "chart",

"url": "tabular:///{{{table}}}",
      "format": {"type": "json"
, "property": "data"

      },
    "transform": [



      // Convert xField parameter into a field "_xfield"
      {"type": "formula", "field": "_xfield", "expr":
"datum.{{{xField}}}"
      },
      {"type": "sort", "by": ["_xfield"]},

      // For non-bar graph, ensure that all missing values still present as zeros to avoid area breaks
      // We might need to allow other, non-0 values to be imputed.
{
        "type": "impute",
        "groupby": ["key"],
        "orderby": ["_xfield"],
        "field": "value",
        "method": "value",
        "value": 0
      },
    ]
  },



    {
      "name": "stats",
      "source": "chart",
      "transform": [{
        "type": "aggregate",
        "groupby": ["_xfield"],
        "summarize": [{"field": "value", "ops": ["sum"]}]
      }]
    }
  ],
  "scales": [
    {
      "name": "x",
      "type": "{{{type}}}",
      "domain": {"data": "chart", "field": "_xfield"},

      "range": "width",
      

      
    },
    {
      "name": "y",
      "type": "linear",
      "range": "height",
      "domain": {"data": "stats", "field": "sum_value"},
      
      
      
      
    },
    {
      "name": "color",
      "type": "ordinal",
      "domain": {"data": "chart", "field": "key"},
      "range": 
"category10", 

    },

  ],

  "axes": [
    {
      "scale": "x", "type": "x", "tickSizeEnd": 0,
      "ticks": 7,
      
      
      "properties": { 
        "labels": { 
          
          
        } 
      },
    },
    {
      "scale": "y", "type": "y", "tickSizeEnd": 0,
      // When drawing "type=year" (or "type=ordinal") bars with the given width, shift y axis left by half the width
      
      
      
      
      "properties": { 
        "labels": { 
          
          
        } 
      },
    }
  ],

  "marks": [
    // Group data by the "key", and draw lines, one line per key
    {
"type": "group",
      "from": {
        "data": "chart",
        "transform": [
          {"type": "stack", "groupby": ["_xfield"], "sortby": ["key"], "field": "value"},
          {"type": "facet", "groupby": ["key"]}
        ]
      },
      "marks": [
        {
          "type": "area",
          "properties": {
            "hover": {
              "fill": {"value": "red"}
            },
            "update": {
              "fill": {"scale": "color", "field": "key"}
            },
            "enter": {
              "x": {"scale": "x", "field": "_xfield"},
              "y": {"scale": "y", "field": "layout_start"},
              "y2": {"scale": "y", "field": "layout_end"},
              "fill": {"scale": "color", "field": "key"},
              "interpolate": {"value": "monotone"}
            }
          }
        }
      ],
    },



  ]
}
</graph>