Widget:Radar: Difference between revisions
From Elwiki
mNo edit summary |
Tag: Undo |
||
(30 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
<div style="width: | <noinclude> | ||
<!--{$PI=3. | '''Widget:Radar''' is a component for radar chart. | ||
Arguments are listed as following: | |||
'''*''' Array argument(s) can be called multiple times. | |||
{| class="wikitable" | |||
! Key !! Type !! Description !! Default | |||
|- | |||
| '''size''' || ''String'' || Size of the chart, use [https://developer.mozilla.org/zh-CN/docs/Web/CSS/width CSS notation] || (Depends on parent container) | |||
|- | |||
| '''dim''' || ''Integer'' || Number of axes || | |||
|- | |||
| '''fontfamily''' || ''String'' || Name of font(s) || Microsoft YaHei | |||
|- | |||
| '''fontsize''' || ''Number'' || Font size || 24 | |||
|- | |||
| '''color''' || ''HexColor'' (#RRGGBB format only) || The color for the radar area || | |||
|- | |||
| '''label''' || ''Array<String>'' || Label(s) for each axis in sequence || (Empty String) | |||
|- | |||
| '''max''' || ''Array<Number>''<br> or<br>''Integer'' || Max value for each axis. | |||
* When using an integer, all axes will have the same max value. | |||
* When using an array, each axis will use the corresponding max value. | |||
* When using an array but the corresponding max value is missing, the first value in the array will be used. | |||
|| '''max[0]''' (Array Type) | |||
|- | |||
| '''value''' || ''Array<Number>'' || Value for each axis. || 0 | |||
|} | |||
</noinclude><includeonly><div style="width: <!--{$size|default:'100%'}-->"> | |||
<!--{strip}--> | |||
<!--{$PI=3.14159265358979323846}--> | |||
<!--{nocache}--> | <!--{nocache}--> | ||
<!--{$step=2*$PI/$dim}--> | <!--{$step=2*$PI/$dim}--> | ||
Line 26: | Line 57: | ||
<!--{/if}--> | <!--{/if}--> | ||
<!--{/for}--> | <!--{/for}--> | ||
<!--{$x1=$xmin | <!--{$x1=$xmin*280}--> | ||
<!--{$x2=$xmax | <!--{$x2=$xmax*280}--> | ||
<!--{$y1=$ymin | <!--{$y1=$ymin*250}--> | ||
<!--{$y2=$ymax | <!--{$y2=$ymax*250}--> | ||
<!--{$dx=$x2-$x1}--> | <!--{$dx=$x2-$x1}--> | ||
<!--{$dy=$y2-$y1}--> | <!--{$dy=$y2-$y1}--> | ||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1 | <!--{$fontcorrection=$fontsize|default:24}--> | ||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="<!--{$x1}--> <!--{$y1}--> <!--{$dx}--> <!--{$dy}-->" style="width: 100%;"> | |||
<polygon stroke="#ccc" fill="#eee" points=" | <polygon stroke="#ccc" fill="#eee" points=" | ||
<!--{for $i=1 to $dim}--> | <!--{for $i=1 to $dim}--> | ||
<!--{($xs[$i]*200)|cat:','|cat:($ys[$i]*200)}--> | <!--{($xs[$i]*200)|cat:','|cat:($ys[$i]*200)|cat:' '}--> | ||
<!--{/for}--> | <!--{/for}--> | ||
"></polygon> | "></polygon> | ||
<polygon stroke="#ccc" fill="#fff" points=" | <polygon stroke="#ccc" fill="#fff" points=" | ||
<!--{for $i=1 to $dim}--> | <!--{for $i=1 to $dim}--> | ||
<!--{($xs[$i]*160)|cat:','|cat:($ys[$i]*160)}--> | <!--{($xs[$i]*160)|cat:','|cat:($ys[$i]*160)|cat:' '}--> | ||
<!--{/for}--> | <!--{/for}--> | ||
"></polygon> | "></polygon> | ||
<polygon stroke="#ccc" fill="#eee" points=" | <polygon stroke="#ccc" fill="#eee" points=" | ||
<!--{for $i=1 to $dim}--> | <!--{for $i=1 to $dim}--> | ||
<!--{($xs[$i]*120)|cat:','|cat:($ys[$i]*120)}--> | <!--{($xs[$i]*120)|cat:','|cat:($ys[$i]*120)|cat:' '}--> | ||
<!--{/for}--> | <!--{/for}--> | ||
"></polygon> | "></polygon> | ||
<polygon stroke="#ccc" fill="#fff" points=" | <polygon stroke="#ccc" fill="#fff" points=" | ||
<!--{for $i=1 to $dim}--> | <!--{for $i=1 to $dim}--> | ||
<!--{($xs[$i]*80)|cat:','|cat:($ys[$i]*80)}--> | <!--{($xs[$i]*80)|cat:','|cat:($ys[$i]*80)|cat:' '}--> | ||
<!--{/for}--> | <!--{/for}--> | ||
"></polygon> | "></polygon> | ||
<polygon stroke="#ccc" fill="#eee" points=" | <polygon stroke="#ccc" fill="#eee" points=" | ||
<!--{for $i=1 to $dim}--> | <!--{for $i=1 to $dim}--> | ||
<!--{($xs[$i]*40)|cat:','|cat:($ys[$i]*40)}--> | <!--{($xs[$i]*40)|cat:','|cat:($ys[$i]*40)|cat:' '}--> | ||
<!--{/for}--> | <!--{/for}--> | ||
"></polygon> | "></polygon> | ||
<!--{for $i=1 to $dim}--> | <!--{for $i=1 to $dim}--> | ||
<line x1="0" y1="0" x2="<!--{$xs[$i]*200}-->" y2="<!--{$ys[$i]*200}-->" stroke="#ccc"></line> | <line x1="0" y1="0" x2="<!--{$xs[$i]*200}-->" y2="<!--{$ys[$i]*200}-->" stroke="#ccc"></line> | ||
<text | |||
<text transform="translate(<!--{($xs[$i]*230)|cat:','|cat:($ys[$i]*230)}-->)" fill="#000" text-anchor="middle"><!--{$label[$i-1]|default:''|escape:'html'}--></text> | transform=" | ||
translate(0,<!--{$fontcorrection/2}-->) | |||
translate(<!--{($xs[$i]*230)|cat:','|cat:($ys[$i]*230)}-->) | |||
" | |||
fill="#000" | |||
text-anchor="middle" | |||
font-size="<!--{$fontcorrection}-->" | |||
font-family="<!--{$fontfamily|default:'Microsoft YaHei'}-->"> | |||
<!--{$label[$i-1]|default:''|escape:'html'}--> | |||
</text> | |||
<!--{/for}--> | <!--{/for}--> | ||
<polygon stroke-width="0" fill="<!--{$color}-->7f" points=" | <polygon stroke-width="0" fill="<!--{$color}-->7f" points=" | ||
<!--{for $i=1 to $dim}--> | <!--{for $i=1 to $dim}--> | ||
<!--{$denom=$max[$i-1]|default:$max}--> | <!--{$denom=$max[$i-1]|default:$max[0]|default:$max}--> | ||
<!--{$numer=$value[$i-1]|default:0}--> | <!--{$numer=$value[$i-1]|default:0}--> | ||
<!--{$ratio=$numer/$denom}--> | <!--{$ratio=$numer/$denom}--> | ||
<!--{(200*$ratio*$xs[$i])|cat:','|cat:(200*$ratio*$ys[$i])}--> | <!--{(200*$ratio*$xs[$i])|cat:','|cat:(200*$ratio*$ys[$i])|cat:' '}--> | ||
<!--{/for}--> | <!--{/for}--> | ||
"></polygon> | "></polygon> | ||
</svg> | </svg> | ||
<!--{/nocache}--> | <!--{/nocache}--> | ||
</div> | <!--{/strip}--> | ||
</div></includeonly> |
Latest revision as of 08:57, 29 May 2020
Widget:Radar is a component for radar chart.
Arguments are listed as following:
* Array argument(s) can be called multiple times.
Key | Type | Description | Default |
---|---|---|---|
size | String | Size of the chart, use CSS notation | (Depends on parent container) |
dim | Integer | Number of axes | |
fontfamily | String | Name of font(s) | Microsoft YaHei |
fontsize | Number | Font size | 24 |
color | HexColor (#RRGGBB format only) | The color for the radar area | |
label | Array<String> | Label(s) for each axis in sequence | (Empty String) |
max | Array<Number> or Integer |
Max value for each axis.
|
max[0] (Array Type) |
value | Array<Number> | Value for each axis. | 0 |