Modul:Diagramm
Zur Navigation springen
Zur Suche springen
Die Dokumentation für dieses Modul kann unter Modul:Diagramm/Doku erstellt werden
local p = {}
function robusttrim(s)
if s==nil then return '' end
local p=mw.ustring.gsub(s,'%[%[SMW::on%]%]','')
p=mw.ustring.gsub(p,'%[%[SMW::off%]%]','')
return mw.text.trim(p)
end
function pre(number)
return '[[Datei:Bewertung'..number..'.svg|30x30px|link=]]'
end
function bar(pref,val,sum)
local perc=0
if sum>0 then
perc=100*val/sum
end
return '<tr><td style="width:30px">'..pref..'</td><td style="width:calc(100%-30px)"><div style="background-color:#ffcc00;width:'..perc..'%;"> </div></td></tr>'
end
function p.Con(frame)
local a1=robusttrim(frame.args[1])
local a2=robusttrim(frame.args[2])
local a3=robusttrim(frame.args[3])
local a4=robusttrim(frame.args[4])
local a5=robusttrim(frame.args[5])
local a6=robusttrim(frame.args[6])
local ct=robusttrim(frame.args[7])
local sum=a1+a2+a3+a4+a5+a6
if sum==0 then
return ''
end
local avg=math.floor(10*(a1*1+a2*2+a3*3+a4*4+a5*5+a6*6)/sum)/10
return '<table style="width:100%;"><tr><th colspan="2" style="font-size:1.2em">Note '..avg..'</th></tr>'..bar(pre(1),a1,sum)..bar(pre(2),a2,sum)..bar(pre(3),a3,sum)..bar(pre(4),a4,sum)..bar(pre(5),a5,sum)..bar(pre(6),a6,sum)..'</table><br/>'..sum..' Bewertungen<br/>'..ct..' Teilnehmer'
end
return p