Redigerer
Mal:Graph:Lines
Hopp til navigering
Hopp til søk
Advarsel:
Du er ikke innlogget. IP-adressen din vil bli vist offentlig om du redigerer. Hvis du
logger inn
eller
oppretter en konto
vil redigeringene dine tilskrives brukernavnet ditt, og du vil få flere andre fordeler.
Antispamsjekk.
Ikke
fyll inn dette feltet!
<includeonly>{{#tag:{{#if:{{{debug|}}}|syntaxhighlight|graph}}|</includeonly><noinclude>{{documentation}}<syntaxhighlight lang=html><graph mode="interactive" title=""></syntaxhighlight>{{#tag:syntaxhighlight|</noinclude> { // // 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": 2, "width": {{{width|400}}}, "height": {{{height|300}}}, <!-- 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 --> {{#switch: {{{chartSizing|}}} |pad|plotting-box|content-box= "padding": "auto", |fit|padding-box= "padding": "strict", | "padding": "strict", }} <!-- under Vega 2 without "init" this signal does not work as expected with legend positioning specifically when using "rightwidth" without "init" for chart title positioning it causes extra blank space appearing at the left of chart plotting "init" description: https://vega.github.io/vega/docs/porting-guide/#:~:text=%22init%22 --> "signals": [{"name": "rightwidth", "expr": "width + padding.right", "init":"{{{width|400}}}"}], "data": [{ "name": "chart", {{#switch: {{{tabletype|tab}}} |tab= "url": "tabular:///{{{table}}}", |query= "url": "wikidatasparql:///?query={{urlencode:{{{table}}}|PATH}}", }} "format": {"type": "json" {{#ifeq:{{{tabletype|tab}}}|tab| , "property": "data" }} {{#ifeq:{{{type|}}}|time| , "parse": {"{{{xField}}}": "date"} }} }, "transform": [ {{#if:{{{dataTransforms|}}}| // chart data custom transforms {{{dataTransforms|}}}, }} {{#if:{{{filter|}}}| // 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 { "type": "filter", "test": "{{{filter}}}" }, }} // Convert xField parameter into a field "_xfield" {"type": "formula", "field": "_xfield", "expr": {{#switch: {{{type|year}}} | year= "datetime(datum.{{{xField|year}}}, 0, 1)" | "datum.{{{xField}}}" }} } , {"type": "sort", "by": ["_xfield"]} {{#if:{{{series|}}} | , {"type": "fold", "fields": [{{{series}}}]} }} {{#if:{{{replaceZerosWith|}}} | , {"type": "formula", "field": "_yfield", "expr": "max(datum.{{#if:{{{series|}}}|value|{{{value|value}}}}}, {{{replaceZerosWith}}})" } | , {"type": "formula", "field": "_yfield", "expr": "datum.{{#if:{{{series|}}}|value|{{{value|value}}}}}" } }} {{#ifeq:{{{yScale|}}}|log | , {"type": "filter", "test": "datum._yfield != 0"} }} ] }, {{#if:{{{series|}}}|{{#ifeq: {{{tabletype|tab}}} | tab | // source of labels for `tabletype=tab` { "name": "labels", "url": "tabular:///{{{table}}}", "format": {"type": "json", "property": "fields"}, "transform": [ {{#if:{{{labelsTransforms|}}}| // labels custom transforms {{{labelsTransforms|}}}, }} {{#if:{{{labelsFilter|}}}| // Optionally filter labels with an template expression parameter // e.g. `filter = 'year' != datum.name` { "type": "filter", "test": "{{{labelsFilter}}}" }, }} ] }, }}}} {{#if: {{{vAnnotationsTable|{{{vAnnotationsValues|}}}}}}| // Each vertical annotation is expected to be x-scale typed `x`, string `text`, // and optional string `color` (e.g. "#4d2800") { "name": "vAnnotations", {{#if: {{{vAnnotationsTable|}}} | "url": "tabular:///{{{vAnnotationsTable}}}", "format": {"type": "json", "property": "data"}, | "values": [{{{vAnnotationsValues|}}}], }} "transform": [ {{#if: {{{vAnnotationsTransforms|}}} | {{{vAnnotationsTransforms}}}, }} {{#ifeq:{{{type|}}}|year| // in case of `type=year` convert year number to UNIX timestamp {"type": "formula", "field": "x", "expr": "datetime(datum.x, 0, 1)"}, }} {{#ifeq:{{{type|}}}|time| // in case of `type=time` convert date string to UNIX timestamp {"type": "formula", "field": "x", "expr": "datetime(datum.x)"}, }} // expected item format `{"text": "...", "color": "#000", x: _ }` { "type": "formula", "field": "text", "expr": "datum.text {{!!}} ''" }, { "type": "formula", "field": "color", "expr": "datum.color {{!!}} '#54595d'" } ] }, }} {{#if: {{{hAnnotationsTable|{{{hAnnotationsValues|}}}}}}| // Each horizontal annotation is expected to be numeric `y`, string `text`, // and optional string `color` (e.g. "#4d2800") { "name": "hAnnotations", {{#if: {{{hAnnotationsTable|}}} | "url": "tabular:///{{{hAnnotationsTable}}}", "format": {"type": "json", "property": "data"}, | "values": [{{{hAnnotationsValues|}}}], }} "transform": [ {{#if: {{{hAnnotationsTransforms|}}} | {{{hAnnotationsTransforms}}}, }} // expected item format `{"text": "...", "color": "#000", y: 0}` { "type": "formula", "field": "text", "expr": "datum.text {{!!}} ''" }, { "type": "formula", "field": "color", "expr": "datum.color {{!!}} '#54595d'" } ] }, }} ], "scales": [ { "name": "x", "type": {{#switch: {{{type|year}}} | year= "time" | "{{{type}}}" }}, "domain": {"data": "chart", "field": "_xfield"}, "range": "width", {{#if:{{{xZero|{{{xAxisZero|}}}}}}|"zero": {{{xZero|{{{xAxisZero|}}}}}},}} {{#switch: {{{type|year}}} <!-- convert year to UNIX milliseconds with the means of `#time:` and `#expr:` by parsing '{year}-01-01Z' date string --> | year= {{#if:{{{xMin|{{{xAxisMin|}}}}}}|"domainMin": {{#expr: {{#time: U | {{{xMin|{{{xAxisMin}}}}}}-01-01Z }} * 1000 }},}} {{#if:{{{xMax|{{{xAxisMax|}}}}}}|"domainMax": {{#expr: {{#time: U | {{{xMax|{{{xAxisMax}}}}}}-01-01Z }} * 1000 }},}} | {{#if:{{{xMin|{{{xAxisMin|}}}}}}|"domainMin": {{{xMin|{{{xAxisMin}}}}}},}} {{#if:{{{xMax|{{{xAxisMax|}}}}}}|"domainMax": {{{xMax|{{{xAxisMax}}}}}},}} }} {{#if:{{{xAxisClamp|}}}|"clamp": {{{xAxisClamp}}},}} }, { "name": "y", "type": "{{{yScale|linear}}}", "range": "height", "domain": {"data": "chart", "field": "_yfield"}, {{#if:{{{yZero|{{{yAxisZero|}}}}}}|"zero": {{{yZero|{{{yAxisZero|}}}}}},}} {{#if:{{{yMin|{{{yAxisMin|}}}}}}|"domainMin": {{{yMin|{{{yAxisMin}}}}}},}} {{#if:{{{yMax|{{{yAxisMax|}}}}}}|"domainMax": {{{yMax|{{{yAxisMax}}}}}},}} {{#if:{{{yAxisClamp|}}}|"clamp": {{{yAxisClamp}}},}} }, { "name": "color", "type": "ordinal", "range": {{#if:{{{colors|}}}|[{{#invoke:String|replace|"{{{colors}}}|,|","}}"] |"{{{colorscheme|category10}}}"}}, "domain": {"data": "chart", "field": "{{{group|key}}}"} }, {{#if:{{{series|}}}| { "name": "labels", "type": "ordinal", {{#ifeq: {{{tabletype|tab}}} | tab | "domain": {"data": "labels", "field": "name"}, "range": {"data": "labels", "field": "title"}, | "domain": [{{{series|}}}], "range": [{{{series|}}}], }} } }} ], {{#if:{{{legend|}}}| "legends": [{ "fill": "color", "stroke": "color", {{#ifeq: {{{legend|}}}|-|| "title": "{{{legend|}}}", }} {{#if:{{{series|}}} | "properties": { "labels": { "text": {"scale": "labels", "field": "data"} } } }} }], }} "axes": [ { "scale": "x", "type": "x", "tickSizeEnd": 0, {{#ifeq:{{{xTicks|{{{xAxisTicks|7}}}}}}|-|| "ticks": {{{xTicks|{{{xAxisTicks|7}}}}}}, }} {{#if:{{{xAxis|{{{xAxisTitle|}}}}}}| "title": "{{{xAxis|{{{xAxisTitle}}}}}}", }} {{#if:{{{xAxisFormat|}}}| "format": "{{{xAxisFormat}}}", }} {{#if:{{{xGrid|}}}| "grid": true, }} "properties": { "labels": { {{#if:{{{xAxisAngle|}}}| "align": {"value": "right"}, "angle": {"value": {{{xAxisAngle}}} }, }} {{#if:{{{xAxisFontSize|}}}| "fontSize": {"value": {{{xAxisFontSize}}} }, }} } } }, { "scale": "y", "type": "y", "tickSizeEnd": 0, {{#ifeq:{{{yTicks|{{{yAxisTicks|-}}}}}}|-|| "ticks": {{{yTicks|{{{yAxisTicks}}}}}}, }} {{#if:{{{yAxis|{{{yAxisTitle|}}}}}}| "title": "{{{yAxis|{{{yAxisTitle}}}}}}", }} {{#if:{{{yAxisFormat|}}}| "format": "{{{yAxisFormat}}}", }} {{#if:{{{yGrid|}}}| "grid": true, }} "properties": { "labels": { {{#if:{{{yAxisAngle|}}}| "align": {"value": "right"}, "angle": {"value": {{{yAxisAngle}}} }, }} {{#if:{{{yAxisFontSize|}}}| "fontSize": {"value": {{{yAxisFontSize}}} }, }} } } } ], "marks": [ // Group data by the group parameter or "key", and draw lines, one line per group { "type": "group", "from": { "data": "chart", "transform": [{"type": "facet", "groupby": ["{{{group|key}}}"]}] }, "marks": [ { "type": "line", "properties": { "hover": { "stroke": {"value": "red"} }, "update": { "stroke": {"scale": "color", "field": "{{{group|key}}}"} }, "enter": { "y": {"scale": "y", "field": "_yfield"}, "x": {"scale": "x", "field": "_xfield"}, "stroke": {"scale": "color", "field": "{{{group|key}}}"}, "interpolate": {"value": "{{{interpolate|linear}}}"}, "strokeWidth": {"value": {{{linewidth|2.5}}}} } } } {{#if:{{{symbols|}}}| , { "type": "symbol", "properties": { "hover": { "fill": {"value": "red"} }, "update": { "fill": {"scale": "color", "field": "{{{group|key}}}"} }, "enter": { "y": {"scale": "y", "field": "_yfield"}, "x": {"scale": "x", "field": "_xfield"}, "size" : {"value": {{{symbolsize|35}}}}, "fill": {"scale": "color", "field": "{{{group|key}}}"} } } } }} ], }, {{#if: {{{vAnnotationsTable|{{{vAnnotationsValues|}}}}}}| // vertical annotations dashed line { "type": "rule", "properties": { "update": { "x": {"scale": "x", "field": "x"}, "y": {"value": 0}, "y2": {"field": {"group": "height"} }, "stroke": {"field": "color"}, "opacity": {"value": 0.75}, "strokeWidth": {"value": 1}, "strokeDash": {"value": [6,1]} } }, "from": {"data": "vAnnotations"} }, // vertical annotations text { "type": "text", "properties": { "update": { "x": {"scale": "x", "field": "x"}, "y": {"value": 0}, "align": {"value": "right"}, "dx": {"value": -3}, "dy": {"value": 3}, "baseline": {"value": "top"}, "text": {"field": "text"}, "angle": {"value": -90}, "opacity": {"value": 0.75}, "fill": {"field": "color"} } }, "from": {"data": "vAnnotations"} }, }} {{#if: {{{hAnnotationsTable|{{{hAnnotationsValues|}}}}}}| // horizontal annotations dashed line { "type": "rule", "properties": { "update": { "y": {"scale": "y", "field": "y"}, "x": {"value": 0 }, "x2": {"field": {"group": "width"} }, "stroke": {"field": "color"}, "opacity": {"value": 0.75}, "strokeWidth": {"value": 1}, "strokeDash": {"value": [6,1]} } }, "from": {"data": "hAnnotations"} }, // horizontal annotations text { "type": "text", "properties": { "update": { "y": {"scale": "y", "field": "y", "offset": 3}, "x": {"value": 0, "offset": 3}, "baseline": {"value": "top"}, "text": {"field": "text"}, "angle": {"value": 0}, "opacity": {"value": 0.75}, "fill": {"field": "color"} } }, "from": {"data": "hAnnotations"} }, }} {{#if:{{{title|}}}| // Draw title at the top of the graph { "type": "text", "properties": { "enter": { "y": {"value": -15}, {{#switch: {{{titleXAlign|}}} | left = "x": {"value": {{{titleXOffset|0}}} }, | right = "x2": {"signal": "width", "mult": 1.0, "offset": {{{titleXOffset|0}}} }, | center = "xc": {"signal": "width", "mult": 0.5, "offset": {{{titleXOffset|0}}} }, | "x": {"signal": "rightwidth", "mult": 0.5, "offset": {{{titleXOffset|0}}} }, }} "text": {"value": "{{{title}}}"}, "fontWeight": {"value": "bold"}, "align": {"value": "{{{titleXAlign|center}}}"}, "baseline": {"value": "bottom"}, "fill": {"value": "#000"} } } } }} ] } <includeonly>}} <div><small>{{#switch: {{{tabletype|tab}}}{{{hideSource|}}} |tab= {{#invoke:TNT|msg|I18n/Template:Graphs.tab|source_table|{{#invoke:TNT|link|{{{table}}}}}}}. |query= {{#invoke:TNT|msg|I18n/Template:Graphs.tab|source_wdqs|https://query.wikidata.org/embed.html#{{urlencode:{{{table}}}|PATH}}}}. }}</small></div> </includeonly><noinclude>|lang=javascript}}<syntaxhighlight lang=html></graph></syntaxhighlight> </noinclude>
Redigeringsforklaring:
Merk at alle bidrag til Wikisida.no anses som frigitt under Creative Commons Navngivelse-DelPåSammeVilkår (se
Wikisida.no:Opphavsrett
for detaljer). Om du ikke vil at ditt materiale skal kunne redigeres og distribueres fritt må du ikke lagre det her.
Du lover oss også at du har skrevet teksten selv, eller kopiert den fra en kilde i offentlig eie eller en annen fri ressurs.
Ikke lagre opphavsrettsbeskyttet materiale uten tillatelse!
Avbryt
Redigeringshjelp
(åpnes i et nytt vindu)
Forhåndsvis en side som bruker denne malen
Denne siden er medlem av 1 skjult kategori:
Kategori:Sider hvor ekspansjonsdybden er overskredet
Navigasjonsmeny
Personlige verktøy
Ikke logget inn
Brukerdiskusjon
Bidrag
Opprett konto
Logg inn
Navnerom
Mal
Diskusjon
norsk bokmål
Visninger
Les
Rediger kilde
Vis historikk
Mer
Navigasjon
Forside
Siste endringer
Tilfeldig side
Hjelp til MediaWiki
Verktøy
Lenker hit
Relaterte endringer
Spesialsider
Sideinformasjon