Modulo:Graph: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
aggiorno
m correggo
 
(4 versioni intermedie di uno stesso utente non sono mostrate)
Riga 31:
if #errors > 0 then
local out = string.format('<strong class="error">%s</strong>', table.concat(errors, "; "))
if nocat or not cfg.uncategorized_namespaces[mw.title.getCurrentTitle().nsnsText] then
out = out .. '[[Category:' .. cfg.errors_category .. ']]'
end
Riga 456:
end
-- Color scale
local colorScale = {
name = "color",
type = "ordinal",
range = args.colors },
___domain = { data = "chart", field = "series" }
}
local alphaScale
if args.alphas then alphaScale = { name = "transparency", graph_type = "ordinal", range = args.alphas } end
-- Symbols scale
local symbolsScale
if type(args.symbols) == 'table' then
if args.symbols then symbolsScale = { name = "symbolssymShape", type = "ordinal", range = args.symbols, ___domain = { data = "chart", field = "series" } end}
end
-- for bar charts with multiple series: each series is grouped by the x value, therefore the series need their own scale within each x group
local groupScale
Line 531 ⟶ 538:
from = { data = "chart" },
properties = {
enter = {
update x = { strokescale = {"x", scalefield = "colorx"} },
{
xy = { scale = "xy", field = "xy" },
yshape = { scale = "ysymShape", field = "yseries" },
shapestroke = { scale = "symbolscolor", field = "series" },
},
update = { stroke = { scale = "color"} }
}
}
if args.symbol_size then symbolsMarks.properties.enter.size = { value = args.symbol_size } end
if alphaScale then
symbolsMarks.properties.update.strokeenter.fillOpacity = { scale = "transparency", field = "series" }
symbolsMarks.properties.enter.strokeOpacity = { scale = "transparency", field = "series" }
end
end
if #args.y == 1 then
Line 554 ⟶ 564:
if symbolsScale then
symbolsMarks.properties.enter.shape.field = "series"
symbolsMarks.properties.update.stroke.field = "series"
end
if alphaScale then marks.properties.update[colorField .. "Opacity"].field = "series" end
Line 664 ⟶ 673:
-- is not to use symbol.
if chart_arg.graph_type == "line" and not args:is_no('symbols') then
chart_arg.symbols = stringArray(args:value('symbols')) or cfg.default.symbol)
chart_arg.symbol_size = args:number('symbolSize', cfg.default.symbol_size)
end
Line 749 ⟶ 758:
end
local chart = frame:extensionTag('graph', chart_json)
local align = args[cfg.localization.:value('thumb]')
return wrap_graph(chart, external_legend, align, chart_arg.graphwidth) .. errors_output(args:value('NoTracking'))
end
Line 768 ⟶ 777:
___domain = { data = "highlights", field = "v" },
range = args.colorScale,
nice = true,
zero = false
}
}