Модул:Graph/док — разлика између измена

Iz Vojne Enciklopedije
Пређи на навигацију Пређи на претрагу
Нема описа измене
м (1 измена увезена)
 
(Једна међуизмена истог корисника није приказана)
Ред 1: Ред 1:
{{documentation|content=
{{#if:{{{1|}}}||<!-- Parts not to be transcluded from the wrapper templates -->
{{#if:{{{1|}}}||<!-- Parts not to be transcluded from the wrapper templates -->
{{Module rating |alpha}}
{{Module rating |alpha}}
{{Lua sidebar}}
<!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) -->
<!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) -->
Module with helper functions for the [[Help:Graph|Graph]] extension to display graphs and maps. From [[:de:Modul:Graph]].
Module with helper functions for the [[Help:Graph|Graph]] extension.


== Functions for templates ==
== Functions for templates ==
=== <code>map</code> ===
=== <tt>map</tt> ===
Creates a JSON object for <code><nowiki><graph></nowiki></code> to display a political map with colored highlights. In the article namespace the template {{Template|Graph:Map}} should be used instead. See its page for use cases.
Creates a JSON object for <tt><nowiki><graph></nowiki></tt> to display a political map with colored highlights. In the article namespace the template [[Template:Graph:Map]] should be used instead. See its page for use cases.


Maps can be found at [[Special:Prefixindex/Template:Graph:Map/Inner/]] (for example [[Template:Graph:Map/Inner/Worldmap2c-json|Worldmap2c-json]] with country borders) and new maps should also be saved under Module:Graph/.
Maps can be found at [[Special:Prefixindex/Module:Graph/]] (for example [[Module:Graph/WorldMap-iso2.json|WorldMap-iso2.json]] with country borders) and new maps should also be saved under Module:Graph/.


'''Parameters:'''
'''Parameters:'''
}}{{#ifeq:{{{1|map}}}|map|<!-- Parts to be transcluded from the wrapper Template:Graph:Map -->
}}{{#ifeq:{{{1|map}}}|map|<!-- Parts to be transcluded from the wrapper Template:Graph:Map -->
* '''basemap:''' sets the base map. The map definitions must follow the [https://github.com/mbostock/topojson/wiki TopoJSON] format and if saved in Wikipedia are available for this module. Maps in the default directory [[Special:Prefixindex/Template:Graph:Map/Inner/]] like [[Template:Graph:Map/Inner/Worldmap2c-json|Worldmap2c-json]] should only be referenced by their name while omitting the Modul:Graph/ prefix to allow better portability. The parameter also accepts URLs, e.g. maps from other Wikipedia versions (the link should follow the scheme of <code>//en.wikipedia.org/w/index.php?title=''mapname''&action=raw</code>, i.e. protocol-relative without leading http/s and a trailing action=raw to fetch the raw content only). <small>URLs to maps on external sites should be avoided for the sake of link stability, performance, security, and she be assumed to be blocked by the software or browser anyway.</small>
* '''basemap''': Sets the base map. The map definitions must follow the [https://github.com/mbostock/topojson/wiki TopoJSON] format and if saved in Wikipedia are available for this module. Maps in the default directory [[Special:Prefixindex/Module:Graph/]] such as [[Module:Graph/WorldMap-iso2.json|WorldMap-iso2.json]] should only be referenced by their name while omitting the Module:Graph/ prefix to allow better portability. The parameter also accepts URLs, e.g. maps from other Wikipedia versions (the link should follow the scheme of <tt>//en.wikipedia.org/w/index.php?title=''mapname''&action=raw</tt>, i.e. protocol-relative without leading http/s and a trailing action=raw to fetch the raw content only). <small>URLs to maps on external sites should be avoided for the sake of link stability, performance, security, and she be assumed to be blocked by the software or browser anyway.</small>
* '''scale:''' the scaling factor of the map (default: 100)
* '''scale''': the scaling factor of the map (default: 100)
* '''projection:''' the [[:en:map projection|map projection]] to use. Supported values are listed at https://github.com/mbostock/d3/wiki/Geo-Projections. The default value is <code>equirectangular</code> for an [[:en:equirectangular projection|equirectangular projection]].
* '''projection''': the [[map projection]] to use. Supported values are listed at https://github.com/mbostock/d3/wiki/Geo-Projections. The default value is <tt>equirectangular</tt> for an [[equirectangular projection]].
* '''center:''' map center (corresponds in the map data to both comma-separated values of the <code>scale</code> field)
* ids of geographic entities: The actual parameter names depend on the base map. For example, for the above mentioned world map the ids are [[ISO country codes]]. The values can be either colors or numbers in case the geographic entities should be associated with numeric data: <tt>DE=lightblue</tt> marks Germany in light blue color, and <tt>DE=80.6</tt> assigns Germany the value 80.6 (population in millions). In the latter case, the actual color depends on the following parameters.
* '''feature:''' which geographic objects should be displayed (corresponds in the map data to the name of the field under the <code>objects</code> field). The default is value <code>countries</code>.
** '''colorScale''': the color palette to use for the color scale. The palette must be provided as a comma-separated list of color values. The color values must be given either as <tt>#rgb</tt>/<tt>#rrggbb</tt> or by a [[Web colors#X11 colour names|CSS color name]]. Instead of a list, the built-in color palettes [https://github.com/mbostock/d3/wiki/Ordinal-Scales#categorical-colors <tt>category10</tt> and <tt>category20</tt>] can also be used.
* '''ids of geographic entities''': The actual parameter names depend on the base map and the selected feature. For example, for the above mentioned world map the ids are [[:en:ISO country codes|ISO country codes]]. The values can be either colors or numbers in case the geographic entities should be associated with numeric data: <code>DE=lightblue</code> marks Germany in light blue color, and <code>DE=80.6</code> assigns Germany the value 80.6 (population in millions). In the latter case, the actual color depends on the following parameters.
** '''scaleType''': supported values are <tt>linear</tt> for a linear mapping between the data values and the color scale, <tt>log</tt> for a log mapping, <tt>pow</tt> for a power mapping (the exponent can be provided as <tt>pow 0.5</tt>), <tt>sqrt</tt> for a square-root mapping, and <tt>quantize</tt> for a quantized scale, i.e. the data is grouped in as many classes as the color palette has colors.
* '''colorScale:''' the color palette to use for the color scale. The palette must be provided as a comma-separated list of color values. The color values must be given either as <code>#rgb</code>/<code>#rrggbb</code> or by a [[:en:Web colors#X11 colour names|CSS color name]]. Instead of a list, the built-in color palettes [https://github.com/mbostock/d3/wiki/Ordinal-Scales#categorical-colors <code>category10</code> and <code>category20</code>] can also be used.
** '''domainMin''': lower boundary of the data values, i.e. smaller data values are mapped to the lower boundary
* '''scaleType:''' supported values are <code>linear</code> for a linear mapping between the data values and the color scale, <code>log</code> for a log mapping, <code>pow</code> for a power mapping (the exponent can be provided as <code>pow 0.5</code>), <code>sqrt</code> for a square-root mapping, and <code>quantize</code> for a quantized scale, i.e. the data is grouped in as many classes as the color palette has colors.
** '''domainMax''': upper boundary of the data values, i.e. larger data values are mapped to the upper boundary
* '''domainMin:''' lower boundary of the data values, i.e. smaller data values are mapped to the lower boundary
** '''legend''': show color legend (does not work with <tt>quantize</tt>)
* '''domainMax:''' upper boundary of the data values, i.e. larger data values are mapped to the upper boundary
* '''defaultValue''': default value for unused geographic entities. In case the id values are colors the default value is <tt>silver</tt>, in case of numbers it is 0.
* '''legend:''' show color legend (does not work with <code>quantize</code>)
* '''defaultValue:''' default value for unused geographic entities. In case the id values are colors the default value is <code>silver</code>, in case of numbers it is 0.
}}{{#if:{{{1|}}}||
}}{{#if:{{{1|}}}||
* '''formatjson:''' format JSON object for better legibility
* '''formatjson''': format JSON object for better legibility
 
=== <tt>chart</tt> ===
=== <code>chart</code> ===
Creates a JSON object for <tt><nowiki><graph></nowiki></tt> to display charts. In the article namespace the template [[Template:Graph:Chart]] should be used instead. See its page for use cases.
Creates a JSON object for <code><nowiki><graph></nowiki></code> to display charts. In the article namespace the template [[Template:Graph:Chart]] should be used instead. See its page for use cases.


'''Parameters:'''
'''Parameters:'''
Ред 35: Ред 32:
* '''width''': width of the chart
* '''width''': width of the chart
* '''height''': height of the chart
* '''height''': height of the chart
* '''type''': type of the chart: <code>line</code> for [[:en:line chart|line chart]]s, <code>area</code> for [[:en:area chart|area chart]]s, and <code>rect</code> for (column) [[:en:bar chart|bar chart]]s, and <code>pie</code> for [[:en:pie chart|pie chart]]s. Multiple series can stacked using the <code>stacked</code> prefix, e.g. <code>stackedarea</code>.
* '''type''': type of the chart: <tt>line</tt> for [[:en:line chart|line chart]]s, <tt>area</tt> for [[:en:area chart|area chart]]s, and <tt>rect</tt> for (column) [[:en:bar chart|bar chart]]s, and <tt>pie</tt> for [[:en:pie chart|pie chart]]s. Multiple series can stacked using the <tt>stacked</tt> prefix, e.g. <tt>stackedarea</tt>.
* '''interpolate''': [[:en:interpolation|interpolation]] method for line and area charts. It is recommended to use <code>monotone</code> for a [[:en:monotone cubic interpolation|monotone cubic interpolation]] – further supported values are listed at https://github.com/vega/vega/wiki/Marks#area.{{dead link}}
* '''interpolate''': [[:en:interpolation|interpolation]] method for line and area charts. It is recommended to use <tt>monotone</tt> for a [[:en:monotone cubic interpolation|monotone cubic interpolation]] – further supported values are listed at https://github.com/vega/vega/wiki/Marks#area.
* '''colors''': color palette of the chart as a comma-separated list of colors. The color values must be given either as <code>#rgb</code>/<code>#rrggbb</code>/<code>#aarrggbb</code> or by a [[:en:Web colors#X11 colour names|CSS color name]]. For <code>#aarrggbb</code> the <code>aa</code> component denotes the [[:en:alpha channel|alpha channel]], i.e. FF=100% opacity, 80=50% opacity/transparency, etc. (The default color palette if n <= 10 is Category10: {{ChartColors|Categ20|10}} else is Category20: {{ChartColors|Categ20|20}}).
* '''colors''': color palette of the chart as a comma-separated list of colors. The color values must be given either as <tt>#rgb</tt>/<tt>#rrggbb</tt>/<tt>#aarrggbb</tt> or by a [[:en:Web colors#X11 colour names|CSS color name]]. For <tt>#aarrggbb</tt> the <tt>aa</tt> component denotes the [[:en:alpha channel|alpha channel]], i.e. FF=100% opacity, 80=50% opacity/transparency, etc. (The default color palette is [http://github.com/d3/d3-scale/blob/master/README.md#schemeCategory10 <tt>category10</tt>]).
* '''xAxisTitle''' and '''yAxisTitle''': captions of the x and y axes
* '''xAxisTitle''' and '''yAxisTitle''': captions of the x and y axes
* '''xAxisMin''', '''xAxisMax''', '''yAxisMin''', and '''yAxisMax''': minimum and maximum values of the x and y axes (not yet supported for bar charts). These parameters can be used to invert the scale of a numeric axis by setting the lowest value to the Max and highest value to the Min.
* '''xAxisMin''', '''xAxisMax''', '''yAxisMin''', and '''yAxisMax''': minimum and maximum values of the x and y axes (not yet supported for bar charts)
* '''xAxisFormat''' and '''yAxisFormat''': changes the formatting of the axis labels. Supported values are listed at https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#numbers for numbers and https://github.com/d3/d3-3.x-api-reference/blob/master/Time-Formatting.md for date/time. For example, the format <code>%</code> can be used to output percentages.
* '''xAxisFormat''' and '''yAxisFormat''': changes the formatting of the axis labels. Supported values are listed at https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#numbers for numbers and https://github.com/d3/d3-3.x-api-reference/blob/master/Time-Formatting.md for date/time. For example, the format <tt>%</tt> can be used to output percentages.
* '''xAxisAngle''': rotates the x axis labels by the specified angle. Recommended values are: -45, +45, -90, +90
* '''xType''' and '''yType''': Data types of the values, e.g. <tt>integer</tt> for integers, <tt>number</tt> for real numbers, <tt>date</tt> for dates (e.g. YYYY/MM/DD), and <tt>string</tt> for ordinal values.
* '''xType''' and '''yType''': data types of the values, e.g. <code>integer</code> for integers, <code>number</code> for real numbers, <code>date</code> for dates (e.g. YYYY/MM/DD), and <code>string</code> for ordinal values (use <code>string</code> to prevent axis values from being repeated when there are only a few values).
* '''xScaleType''' and '''yScaleType''': scale types of the x and y axes, e.g. <code>linear</code> for linear scale (default), <code>log</code> for logarithmic scale and <code>sqrt</code> for square root scale.
* '''x''': the x-values as a comma-separated list
* '''x''': the x-values as a comma-separated list
* '''y''' or '''y1''', '''y2''', …: the y-values for one or several data series, respectively. For pie charts <code>y2</code> denotes the radiuses of the corresponding sectors.
* '''y''' or '''y1''', '''y2''', …: the y-values for one or several data series, respectively. For pie charts <tt>y2</tt> denotes the radiuses of the corresponding sectors.
* '''legend''': show legend (only works in case of multiple data series)
* '''legend''': show legend (only works in case of multiple data series)
* '''y1Title''', '''y2Title''', …: defines the label of the respective data series in the legend
* '''y1Title''', '''y2Title''', …: defines the label of the respective data series in the legend
* '''linewidth''': line width for line charts or distance between the pie segments for pie charts. Setting to 0 with <code>type=line</code> creates a scatter plot.
* '''linewidth''': line width for line charts or distance between the pie segments for pie charts
* '''linewidths''': different line widths may be defined for each series of data with csv, if set to 0 with "showSymbols" results with points graph, eg.: <code>linewidths=1, 0, 5, 0.2</code>
* '''showValues''': Additionally, output the y values as text. (Currently, only (non-stacked) bar and pie charts are supported.) The output can be configured used the following parameters provided as <tt>name1:value1, name2:value2</tt>:
* '''showSymbols''': show symbol on data point for line graphs, if number is provided it's size of symbol, default 2.5. may be defined for each series of data with csv, eg.: <code>showSymbols=1, 2, 3, 4</code>
* '''symbolsShape''': custom shape for symbol: circle, x, square, cross, diamond, triangle_up, triangle_down, triangle_right, triangle_left. May be defined for each series of data with csv, eg.: <code>symbolsShape= circle, cross, square</code>
* '''symbolsNoFill''': if true symbol will be without fill (only stroke),
* '''symbolsStroke''': if "x" symbol is used or option "symbolsNoFill" symbol stroke width, default 2.5
* '''showValues''': Additionally, output the y values as text. (Currently, only (non-stacked) bar and pie charts are supported.) The output can be configured used the following parameters provided as <code>name1:value1, name2:value2</code>:
** '''format''': Format the output according to https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#numbers for numbers and https://github.com/d3/d3-3.x-api-reference/blob/master/Time-Formatting.md for date/time.
** '''format''': Format the output according to https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#numbers for numbers and https://github.com/d3/d3-3.x-api-reference/blob/master/Time-Formatting.md for date/time.
** '''fontcolor''': text color
** '''fontcolor''': text color
** '''fontsize''': text size
** '''fontsize''': text size
** '''offset''': move text by the given offset. For bar charts and pie charts with <code>midangle</code> this also defines if the text is inside or outside the chart.
** '''offset''': move text by the given offset. For bar charts and pie charts with <tt>midangle</tt> this also defines if the text is inside or outside the chart.
** '''angle''' (pie charts only): text angle in degrees or <code>midangle</code> (default) for dynamic angles based on the mid-angle of the pie sector.
** '''angle''' (pie charts only): text angle in degrees or <tt>midangle</tt> (default) for dynamic angles based on the mid-angle of the pie sector.
* '''innerRadius''': For pie charts: defines the inner radius to create a ''doughnut chart''.
* '''innerRadius''': For pie charts: defines the inner radius to create a ''doughnut chart''.
* '''xGrid''' and '''yGrid''': display grid lines on the x and y axes.
* '''Annotations'''
** '''vAnnotatonsLine''' and '''hAnnotatonsLine''': display vertical or horizontal annotation lines on specific values e.g. <code>hAnnotatonsLine=4, 5, 6</code>
** '''vAnnotatonsLabel''' and '''vAnnotatonsLabel''': display vertical or horizontal annotation labels for lines e.g. <code>hAnnotationLabel = label1, label2, label3</code>
}}{{#if:{{{1|}}}||
}}{{#if:{{{1|}}}||
* '''formatjson''': format JSON object for better legibility
* '''formatjson''': format JSON object for better legibility


=== Template wrappers ===
=== Template wrappers ===
The functions <code>mapWrapper</code> and <code>chartWrapper</code> are wrappers to pass all parameters of the calling template to the respective <code>map</code> and <code>chart</code> functions.
The functions <tt>mapWrapper</tt> and <tt>chartWrapper</tt> are wrappers to pass all parameters of the calling template to the respective <tt>map</tt> and <tt>chart</tt> functions.
}}
}}


'''Note:''' In the editor preview the graph extension creates a [[canvas element]] with vector graphics. However, when saving the page a [[Portable Network Graphics|PNG]] raster graphics is generated instead.
'''Note:''' In the editor preview the graph extension creates a [[canvas element]] with vector graphics. However, when saving the page a [[Portable Network Graphics|PNG]] raster graphics is generated instead.
{{#if:{{{1|}}}||<!-- Parts not to be transcluded from the wrapper templates -->
{{#if:{{{1|}}}||<!-- Parts not to be transcluded from the wrapper templates -->
  <nowiki>{{</nowiki>#invoke:{{BASEPAGENAME}}{{!}}''function_wrapper_name''<nowiki>}}</nowiki>
  <nowiki>{{</nowiki>#invoke:{{BASEPAGENAME}}|''function_wrapper_name''<nowiki>}}</nowiki>
}}
}}


{{#ifeq:{{{nocat}}}|yes||
<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox | |
<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox | |
<!-- Categories below this line, please; interwikis at Wikidata -->
<!-- Categories below this line, please; interwikis at Wikidata -->
[[Category:Graph, chart and plot templates]]
 
}}</includeonly>
}}</includeonly>
}}
}}

Тренутна верзија на датум 5. фебруар 2021. у 13:49

Lua error: Cannot create process: proc_open(/dev/null): failed to open stream: Operation not permitted