Hello,
I am trying to plot a 14x3 grid of scatter plots with common x-axes and common coloring based on their z-value (I have a vector of colors).
My current code looks like this:
plot(layout=(14,3))
for i in 1:42
plot!(x, y[i,:], markercolors=cols, seriestype = :scatter, subplot=i, size=(300,200))
end
but this overlays all the plots and returns this message:
GKS: Rectangle definition is invalid in routine SET_VIEWPORT
Do you have any solution on how to plot this many subplots with a reasonable size?
Plots.jl
’s plotly()
backend might be helpful to handle a large number of subplots. One example:
using Measures, Plots; plotly()
function grid_scatter(N,M)
plotsize = (M*400,N*400)
plts = [scatter(rand(10), xlabel="X-axis ($i)", ylabel="Y-axis ($i)", color=i,
margin = 10mm, legend=false, plotsize=(400,400), label="plot#$i") for i in 1:N*M]
plot(plts..., layout=(N,M), size=plotsize)
end
grid_scatter(14,13)
Fyi, a fraction of the scrollable html file created:
Thanks! This is working!
Would you know how to export the grid to .pdf?
Typing just:
savefig("./plots.pdf")
will fail like this (png gives the same result as pdf):
I am only able to save to html and from the browser create a PDF.
For batch processing you may consider wkhtmltopdf freeware.
1 Like