Přeskočit na obsah

Modul:TreeChart

Z Wikipedie, otevřené encyklopedie

TreeChart může být použit k vytvoření rodokmenů, kladogramů a jiných stromů.

Použití

Modul podle zadaného klíče seskládá čtverec spojení položek grafu. Pro každý vyplněný směr (po směru hodinových ručiček: A vzhůru, B vpravo, C dolů, D vlevo) zobrazí čáru. Pokud je za písmenem ještě vlnovka, zobrazí přerušovanou čáru, pokud P, zobrazí tečkovanou čáru. Používá se ve dvojici, první s označením 1 tvoří první řádek modulu, druhá s označením 2 tvoří druhý řádek modulu.

Modul byl specificky připraven pro šablonu Šablona:Rodokmen/step2. Použití modulu v šabloně vypadá následovně:

{{Rodokmen/step2
|row1 "on2"={{#invoke:TreeChart|treechart|A~BP|1}}|
|row2 "on2"={{#invoke:TreeChart|treechart|A~BP|2}}|
}}
⇓ VÝSTUP ŠABLONY ⇓
A~BPA~BP

⇑ VÝSTUP ŠABLONY ⇑
local p = {}

function p.treechart (frame)
	local arg = frame.args[1]
	local dirs = {'A', 'B', 'C', 'D'}
	local res = {}

	for _, dir in pairs(dirs) do
		match = string.find(arg, dir .. '[^ABCD]*')
		if match then
			table.insert(res, string.match(arg, dir .. '[^ABCD]*'))
		end
	end

	return table.concat(res)
end

return p