模块:PChart

来自异世界百科
落雨枫讨论 | 贡献2021年6月5日 (六) 14:13的版本 (增加图例功能)

此模块的文档可以在模块:PChart/doc创建

local p = {}

function getArg(args, key, default)
	local val = args[key]
	if(val == nil or #val == 0 or val == "{{{" .. key .. "}}}") then
		return default
	else
		return val
	end
end

function p.radar(frame)
	local size = getArg(frame.args, "size", "320x300")
	local max = getArg(frame.args, "max", "5")
	local names = getArg(frame.args, "names", "Data")
	local float = getArg(frame.args, "float")
	local values = getArg(frame.args, "values", "")
	local legend = getArg(frame.args, "legend")
	
	local html = ""
	if(float ~= nil and float ~= "center") then
		html = html .. "<div class=\"float" .. float .. "\">"
	end
	
	local attributes = {
		size = size,
		ymax = max,
		filled = "",
		striped = "",
	}
	
	if(legend == "true" or legend == "1") then
		attributes["legend"] = ""
	end
	
	html = html ..
		frame:extensionTag("pRadar", "," .. names .. "\n" .. values, attributes)
	if(float ~= nil and float ~= "center") then
		html = html .. "</div>"
	end
	
	return html
end

return p