From 51e8f3ff6ead35b962420b83149929e9de7db20c Mon Sep 17 00:00:00 2001 From: Thomas Breloff Date: Fri, 9 Oct 2015 23:21:45 -0400 Subject: [PATCH] working on subplots --- examples/facets.ipynb | 155 ++++++++-------------------------------- src/backends/gadfly.jl | 114 ++++++++++++++--------------- src/backends/immerse.jl | 80 +++++++++++++++------ src/subplot.jl | 34 ++++++--- 4 files changed, 170 insertions(+), 213 deletions(-) diff --git a/examples/facets.ipynb b/examples/facets.ipynb index 0ed8d356..ea8ada34 100644 --- a/examples/facets.ipynb +++ b/examples/facets.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "metadata": { "collapsed": false }, @@ -11,38 +11,32 @@ "name": "stdout", "output_type": "stream", "text": [ - "[Plots.jl] Default backend: immerse\n", - "[Plots.jl] Switched to backend: gadfly" + "[Plots.jl] Switched to backend: immerse" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "Subplot{Plots.ImmersePackage() p=4 n=4}" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n" ] } ], "source": [ "using Plots\n", - "gadfly()\n", + "immerse()\n", "default(leg=false,size=(400,400));\n", - "#debugplots();" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "Subplot{Plots.GadflyPackage() p=4 n=4}" - ] - }, - "execution_count": 30, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ "y = linspace(0,1,100)\n", "p = subplot(Any[y*i for i in 1:4],n=4)\n", "subplot!(ylabel=[\"y1\",\"y1\",\"y2\",\"y2\"], xlabel=[\"x1\",\"x2\",\"x1\",\"x2\"])" @@ -50,125 +44,34 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": null, "metadata": { "collapsed": false }, - "outputs": [ - { - "data": { - "text/plain": [ - "linkYAxis (generic function with 1 method)" - ] - }, - "execution_count": 31, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "function addOrReplace(v::AbstractVector, t::DataType, args...; kw...)\n", - " for (i,vi) in enumerate(v)\n", - " if isa(vi, t)\n", - " v[i] = t(args...; kw...)\n", - " return\n", - " end\n", - " end\n", - " push!(v, t(args...; kw...))\n", - " return\n", - "end\n", - "\n", - "# link the subplots together to share axes... useful for facet plots, cross-scatters, etc\n", - "function linkXAxis(subplt::Plots.Subplot{Plots.GadflyPackage})\n", - " \n", - " for (i,(r,c)) in enumerate(p.layout)\n", - " gplt = p.plts[i].o\n", - " if r < Plots.nrows(p.layout)\n", - " #addOrReplace(gplt.guides, Gadfly.Guide.xticks; label=false)\n", - " addOrReplace(gplt.guides, Gadfly.Guide.xlabel, \"\")\n", - " end\n", - " end\n", - " \n", - " lims = [Inf,-Inf] \n", - " for plt in p.plts\n", - " for l in plt.o.layers\n", - " Plots.expandLimits!(lims, l.mapping[:x])\n", - " end\n", - " end\n", - " for plt in p.plts\n", - " xlims!(plt, lims...)\n", - " end\n", - " \n", - "end\n", - "\n", - "# link the subplots together to share axes... useful for facet plots, cross-scatters, etc\n", - "function linkYAxis(subplt::Plots.Subplot{Plots.GadflyPackage})\n", - " \n", - " for (i,(r,c)) in enumerate(p.layout)\n", - " gplt = p.plts[i].o\n", - " if c > 1\n", - " #addOrReplace(gplt.guides, Gadfly.Guide.yticks; label=false)\n", - " addOrReplace(gplt.guides, Gadfly.Guide.ylabel, \"\")\n", - " end\n", - " end\n", - " \n", - " lims = [Inf,-Inf]\n", - " for plt in p.plts\n", - " for l in plt.o.layers\n", - " Plots.expandLimits!(lims, l.mapping[:y])\n", - " end\n", - " end\n", - " for plt in p.plts\n", - " ylims!(plt, lims...)\n", - " end\n", - " \n", - "end\n", - "\n", - "# # findGuideAndSet(gplt, t::DataType, s::@compat(AbstractString))\n", - "# for (i,(r,c)) in enumerate(p.layout)\n", - "# gplt = p.plts[i].o\n", - "# if r < Plots.nrows(p.layout)\n", - "# # push!(gplt.guides, Gadfly.Guide.xticks(label=false))\n", - "# # Plots.findGuideAndSet(gplt, Gadfly.Guide.xlabel, \"\")\n", - "# addOrReplace(gplt.guides, Gadfly.Guide.xticks; label=false)\n", - "# addOrReplace(gplt.guides, Gadfly.Guide.xlabel, \"\")\n", - "# end\n", - "# if c > 1\n", - "# addOrReplace(gplt.guides, Gadfly.Guide.yticks, label=false)\n", - "# addOrReplace(gplt.guides, Gadfly.Guide.ylabel, \"\")\n", - "# # #push!(gplt.guides, Gadfly.Guide.yticks(label=false))\n", - "# # Plots.findGuideAndSet(gplt, Gadfly.Guide.yticks, label=false)\n", - "# # Plots.findGuideAndSet(gplt, Gadfly.Guide.ylabel, \"\")\n", - "# end\n", - "# end\n", - "# #p1 = p.plts[1].o\n", - "# #push!(p1.guides, Gadfly.Guide.xticks(label=false,ticks=nothing))\n", - "# p" - ] + "outputs": [], + "source": [] }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ - "Subplot{Plots.GadflyPackage() p=4 n=4}" + "Subplot{Plots.ImmersePackage() p=4 n=4}" ] }, - "execution_count": 32, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "linkXAxis(p)\n", - "linkYAxis(p)\n", - "p" + "subplot!(link=true)" ] }, { diff --git a/src/backends/gadfly.jl b/src/backends/gadfly.jl index b2593292..f32eaadc 100644 --- a/src/backends/gadfly.jl +++ b/src/backends/gadfly.jl @@ -250,20 +250,6 @@ function addGadflySeries!(gplt, d::Dict, initargs::Dict) push!(gfargs, Gadfly.Geom.ribbon) end - # # fillto and ribbon - # yminmax = Any[] - # fillto, ribbon = d[:fill], d[:ribbon] - - # if fillto != nothing - # if ribbon != nothing - # warn("Ignoring ribbon arg since fillto is set!") - # end - # fillto = makevec(fillto) - # n = length(fillto) - # push!(yminmax, (:ymin, Float64[min(y, fillto[mod1(i,n)]) for (i,y) in enumerate(d[:y])])) - # push!(yminmax, (:ymax, Float64[max(y, fillto[mod1(i,n)]) for (i,y) in enumerate(d[:y])])) - # push!(gfargs, Gadfly.Geom.ribbon) - # elseif ribbon != nothing # ribbon = makevec(ribbon) # n = length(ribbon) @@ -490,52 +476,68 @@ function buildSubplotObject!(subplt::Subplot{GadflyPackage}) end -# link the subplots together to share axes... useful for facet plots, cross-scatters, etc -function linkXAxis(subplt::Subplot{GadflyPackage}) - - for (i,(r,c)) in enumerate(subplt.layout) - gplt = subplt.plts[i].o - if r < nrows(subplt.layout) - addOrReplace(gplt.guides, Gadfly.Guide.xticks; label=false) - addOrReplace(gplt.guides, Gadfly.Guide.xlabel, "") - end - end - - lims = [Inf,-Inf] - for plt in subplt.plts - for l in plt.o.layers - expandLimits!(lims, l.mapping[:x]) - end - end - for plt in subplt.plts - xlims!(plt, lims...) - end - +function handleLinkInner(plt::Plot{GadflyPackage}, isx::Bool) + gplt = getGadflyContext(plt) + # addOrReplace(gplt.guides, Gadfly.Guide.xticks; label=false) + # addOrReplace(gplt.guides, Gadfly.Guide.xlabel, "") + addOrReplace(gplt.guides, isx ? Gadfly.Guide.xticks : Gadfly.Guide.yticks; label=false) + addOrReplace(gplt.guides, isx ? Gadfly.Guide.xlabel : Gadfly.Guide.ylabel, "") end -# link the subplots together to share axes... useful for facet plots, cross-scatters, etc -function linkYAxis(subplt::Subplot{GadflyPackage}) - - for (i,(r,c)) in enumerate(subplt.layout) - gplt = subplt.plts[i].o - if c > 1 - addOrReplace(gplt.guides, Gadfly.Guide.yticks; label=false) - addOrReplace(gplt.guides, Gadfly.Guide.ylabel, "") - end - end - - lims = [Inf,-Inf] - for plt in subplt.plts - for l in plt.o.layers - expandLimits!(lims, l.mapping[:y]) - end - end - for plt in subplt.plts - ylims!(plt, lims...) - end - +function expandLimits!(lims, plt::Plot{GadflyPackage}, isx::Bool) + for l in getGadflyContext(plt).layers + expandLimits!(lims, l.mapping[isx ? :x : :y]) + end end + +# # link the subplots together to share axes... useful for facet plots, cross-scatters, etc +# function linkXAxis{T<:@compat(Union{GadflyPackage,ImmersePackage})}(subplt::Subplot{T}) + + +# for (i,(r,c)) in enumerate(subplt.layout) +# gplt = getGadflyContext(subplt.plts[i]) +# if r < nrows(subplt.layout) +# addOrReplace(gplt.guides, Gadfly.Guide.xticks; label=false) +# addOrReplace(gplt.guides, Gadfly.Guide.xlabel, "") +# end +# end + +# lims = [Inf,-Inf] +# for plt in subplt.plts +# for l in getGadflyContext(plt).layers +# expandLimits!(lims, l.mapping[:x]) +# end +# end +# for plt in subplt.plts +# xlims!(plt, lims...) +# end + +# end + +# # link the subplots together to share axes... useful for facet plots, cross-scatters, etc +# function linkYAxis{T<:@compat(Union{GadflyPackage,ImmersePackage})}(subplt::Subplot{T}) + +# for (i,(r,c)) in enumerate(subplt.layout) +# gplt = getGadflyContext(subplt.plts[i]) +# if c > 1 +# addOrReplace(gplt.guides, Gadfly.Guide.yticks; label=false) +# addOrReplace(gplt.guides, Gadfly.Guide.ylabel, "") +# end +# end + +# lims = [Inf,-Inf] +# for plt in subplt.plts +# for l in getGadflyContext(plt).layers +# expandLimits!(lims, l.mapping[:y]) +# end +# end +# for plt in subplt.plts +# ylims!(plt, lims...) +# end + +# end + # ---------------------------------------------------------------- diff --git a/src/backends/immerse.jl b/src/backends/immerse.jl index 13ee9799..b82a25cb 100644 --- a/src/backends/immerse.jl +++ b/src/backends/immerse.jl @@ -87,42 +87,82 @@ function buildSubplotObject!(subplt::Subplot{ImmersePackage}) vsep = Gtk.GtkBoxLeaf(:v) win = Gtk.GtkWindowLeaf(vsep, d[:windowtitle], w, h) - # add the plot boxes - i = 0 - rows = [] figindices = [] - for rowcnt in subplt.layout.rowcounts + row = Gtk.GtkBoxLeaf(:h) + push!(vsep, row) + for (i,(r,c)) in enumerate(subplt.layout) + plt = subplt.plts[i] - # create a new row and add it to the main Box vsep - row = Gtk.GtkBoxLeaf(:h) - push!(vsep, row) + # get the components... box is the main plot GtkBox, and canvas is the GtkCanvas where it's plotted + box, toolbar, canvas = Immerse.createPlotGuiComponents() - # now add the plot components to the row - for plt in subplt.plts[(1:rowcnt) + i] + # add the plot's box to the row + push!(row, box) - # get the components... box is the main plot GtkBox, and canvas is the GtkCanvas where it's plotted - box, toolbar, canvas = Immerse.createPlotGuiComponents() + # create the figure and store the index returned for destruction later + figidx = Immerse.figure(canvas) + push!(figindices, figidx) - # add the plot's box to the row - push!(row, box) + fig = Immerse.figure(figidx) + plt.o = (fig, plt.o[2]) - # create the figure and store the index returned for destruction later - figidx = Immerse.figure(canvas) - push!(figindices, figidx) - - fig = Immerse.figure(figidx) - plt.o = (fig, plt.o[2]) + # add the row + if c == ncols(subplt.layout, r) + row = Gtk.GtkBoxLeaf(:h) + push!(vsep, row) end - i += rowcnt end + # # add the plot boxes + # i = 0 + # figindices = [] + # for rowcnt in subplt.layout.rowcounts + + # # create a new row and add it to the main Box vsep + # row = Gtk.GtkBoxLeaf(:h) + # push!(vsep, row) + + # # now add the plot components to the row + # for plt in subplt.plts[(1:rowcnt) + i] + + # # get the components... box is the main plot GtkBox, and canvas is the GtkCanvas where it's plotted + # box, toolbar, canvas = Immerse.createPlotGuiComponents() + + # # add the plot's box to the row + # push!(row, box) + + # # create the figure and store the index returned for destruction later + # figidx = Immerse.figure(canvas) + # push!(figindices, figidx) + + # fig = Immerse.figure(figidx) + # plt.o = (fig, plt.o[2]) + # end + + # i += rowcnt + # end + # destructor... clean up plots Gtk.on_signal_destroy((x...) -> [Immerse.dropfig(Immerse._display,i) for i in figindices], win) subplt.o = win end + +function handleLinkInner(plt::Plot{ImmersePackage}, isx::Bool) + gplt = getGadflyContext(plt) + addOrReplace(gplt.guides, isx ? Gadfly.Guide.xticks : Gadfly.Guide.yticks; label=false) + addOrReplace(gplt.guides, isx ? Gadfly.Guide.xlabel : Gadfly.Guide.ylabel, "") +end + +function expandLimits!(lims, plt::Plot{ImmersePackage}, isx::Bool) + for l in getGadflyContext(plt).layers + expandLimits!(lims, l.mapping[isx ? :x : :y]) + end +end + + # ---------------------------------------------------------------- getGadflyContext(plt::Plot{ImmersePackage}) = plt.o[2] diff --git a/src/subplot.jl b/src/subplot.jl index dc186f48..796d5f3a 100644 --- a/src/subplot.jl +++ b/src/subplot.jl @@ -38,7 +38,7 @@ function subplotlayout(numplts::Int, nr::Int, nc::Int) i += cnt end - SubplotLayout(numplts, rowcounts) + FlexLayout(numplts, rowcounts) end # # create a layout directly @@ -110,7 +110,23 @@ ncols(layout::GridLayout, row::Int) = layout.nc # get the plot index given row and column Base.getindex(layout::GridLayout, r::Int, c::Int) = (r-1) * layout.nc + c +# handle "linking" the subplot axes together +# each backend should implement the handleLinkInner and expandLimits! methods +function linkAxis(subplt::Subplot, isx::Bool) + lims = [Inf, -Inf] + for (i,(r,c)) in enumerate(subplt.layout) + plt = subplt.plts[i] + if (isx && r < nrows(subplt.layout)) || (!isx && c > 1) + handleLinkInner(plt, isx) + end + expandLimits!(lims, plt, isx) + end + for plt in subplt.plts + (isx ? xlims! : ylims!)(plt, lims...) + end +end + # ------------------------------------------------------------ @@ -174,7 +190,7 @@ function subplot(args...; kw...) # # tmpd[:show] = shouldShow # create the object and do the plotting - subplt = Subplot(nothing, plts, pkg, length(layout), 0, layout, ds, false, get(d, :linkx, false), get(d, :linky, false)) + subplt = Subplot(nothing, plts, pkg, length(layout), 0, layout, ds, false, false, false) subplot!(subplt, args...; kw...) subplt @@ -206,11 +222,11 @@ function subplot!(subplt::Subplot, args...; kw...) d = Dict(kw) preprocessArgs!(d) - # for k in keys(_plotDefaults) - # delete!(d, k) - # end dumpdict(d, "After subplot! preprocessing") + haskey(d, :linkx) && (subplt.linkx = d[:linkx]) + haskey(d, :linky) && (subplt.linky = d[:linky]) + kwList, xmeta, ymeta = createKWargsList(subplt, args...; d...) # TODO: something useful with meta info? @@ -242,12 +258,8 @@ function subplot!(subplt::Subplot, args...; kw...) updatePlotItems(plt, di) end - if subplt.linkx - linkXAxis(subplt) - end - if subplt.linky - linkYAxis(subplt) - end + subplt.linkx && linkAxis(subplt, true) + subplt.linky && linkAxis(subplt, false) # set this to be current current(subplt)