@rafael.guerra Thanks for stimulating me to use Plotly!
GOOD: It worked fine and it is very fast. Best result so far.
NOT so GOOD: this is a general but minor problem I find with Plotly: it seems the relative labextension is out of sync with jupyterlab, which at times gives issues. I used vscode for this plot.
This is my plotting function (it needs a bit of refactoring as there are too many duplications in the parameter settings):
function correlogram(df)
rows = cols = size(df,2)
dcols = names(df)
plots = []
for row = 1:rows, col = 1:cols
if col == 1 && row == 1
push!(
plots,
histogram(df[:,row],bins=10, xtickfont = font(5), ytickfont = font(5), legend = false, ylabel = dcols[row]))
elseif row == col && row < cols && row >1
push!(
plots,
histogram(df[:,row],bins=10, xtickfont = font(5), ytickfont = font(5), legend = false))
elseif row < cols && col == 1
push!(
plots,
scatter(df[:,row], df[:,col], xtickfont = font(5), ytickfont = font(5), legend = false, markersize=1, alpha = 0.3, smooth = true, ylabel = dcols[row],
linewidth=3, linecolor=:red))
elseif row < cols && col > 1
push!(
plots,
scatter(df[:,row], df[:,col], xtickfont = font(5), ytickfont = font(5), legend = false, markersize=1, alpha = 0.3, smooth = true,
linewidth=3, linecolor=:red))
elseif col == 1 && row == cols
push!(
plots,
scatter(df[:,row], df[:,col], xtickfont = font(5), ytickfont = font(5), legend = false, markersize=1, alpha = 0.3, smooth = true, ylabel = dcols[row], xlabel = dcols[col],
linewidth=3, linecolor=:red))
elseif row > col && row == cols
push!(
plots,
scatter(df[:,row], df[:,col], xtickfont = font(5), ytickfont = font(5), legend = false, markersize=1, alpha = 0.3, smooth = true, xlabel = dcols[col],
linewidth=3, linecolor=:red))
else
push!(
plots,
histogram(df[:,row],bins=10, xtickfont = font(5), ytickfont = font(5), legend = false, xlabel = dcols[col]) )
end
end
plot(plots..., size=(1200, 1000), layout = (rows, cols))
end
This is the plot (not sure why but the column names disappear pasting the plot here).