Я уже делал некоторые обходные пути, чтобы добиться замечательных сюжетов в Джулии Плотли, но в настоящее время борюсь с более сложной проблемой. Ниже приведены три способа, которые должны сделать эту работу. draw1 делает это отлично, но не применимо в моей ситуации, draw2 не делает, draw3 делает в REPL, но в противном случае это не так.
Вот ожидаемая матрица графиков, также называемая подзаговорами. ожидаемая матрица графиков
draw1 делает свою работу -> появляется ожидаемая матрица графиков
function draw1()
[plot([1,1,1]) plot([2,2,2]); plot([3,3,3]) plot([4,4,4])]
end
draw2a и draw2b нет, независимо от того, вызывается ли она как функциямодуль или скопированный в REPL
function draw2a()
local mx = [1 2; 3 4]
local p(i) = plot([i,i,i])
p.(mx)
end
function draw2b()
local mx = [1 2; 3 4]
local p = map(i-> plot([i,i,i]), collect(1:4))
p[mx]
end
REPL делает то же самое для draw2a и draw2b:
julia> subplots.draw2()
2×2 Array{PlotlyJS.SyncPlot,2}:
SyncPlot(data: [
"scatter with fields type, x, and y"
]
...
followed by the content of the graphs
draw3 отлично выполняет работу, если копируется в REPL, но не вызывается
function draw3()
local p(i) = plot([i,i,i])
eval(Meta.parse("[p(1) p(2); p(3) p(4)]"))
end
если вызвано:
julia> subplots.draw3()
ERROR: UndefVarError: p not defined
это должна быть проблема с областью действия