From 23b51c4c3e9b5ab60712a7d8b03d4f7f9c972771 Mon Sep 17 00:00:00 2001 From: Thomas Breloff Date: Sat, 10 Oct 2015 00:57:48 -0400 Subject: [PATCH] working on pyplot subplots --- examples/facets.ipynb | 100 +++++++++++------------------------------ src/backends/pyplot.jl | 57 +++++++++++++++++------ src/subplot.jl | 1 - 3 files changed, 71 insertions(+), 87 deletions(-) diff --git a/examples/facets.ipynb b/examples/facets.ipynb index 38bd5153..b22751fe 100644 --- a/examples/facets.ipynb +++ b/examples/facets.ipynb @@ -2,56 +2,26 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "INFO: Recompiling stale cache file /Users/tom/.julia/lib/v0.4/Plots.ji for module Plots.\n" - ] - }, { "name": "stdout", "output_type": "stream", "text": [ - "[Plots.jl] Default backend: immerse\n", - "[Plots.jl] Switched to backend: qwt\n", - "[Plots.jl] Initializing backend: qwt" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "WARNING: Base.FloatingPoint is deprecated, use AbstractFloat instead.\n", - "WARNING: Base.String is deprecated, use AbstractString instead.\n", - "WARNING: Base.Uint32 is deprecated, use UInt32 instead.\n", - "WARNING: Base.String is deprecated, use AbstractString instead.\n", - "WARNING: Base.String is deprecated, use AbstractString instead.\n", - "WARNING: Base.String is deprecated, use AbstractString instead.\n", - "WARNING: Base.String is deprecated, use AbstractString instead.\n", - "WARNING: Base.String is deprecated, use AbstractString instead.\n", - "WARNING: Base.String is deprecated, use AbstractString instead.\n", - "WARNING: Base.String is deprecated, use AbstractString instead.\n", - "WARNING: Base.String is deprecated, use AbstractString instead.\n", - "WARNING: Base.String is deprecated, use AbstractString instead.\n", - "WARNING: Base.String is deprecated, use AbstractString instead.\n", - "WARNING: Base.String is deprecated, use AbstractString instead.\n", - "WARNING: Base.String is deprecated, use AbstractString instead.\n" + "[Plots.jl] Switched to backend: gadfly" ] }, { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ - "Subplot{Plots.QwtPackage() p=4 n=4}" + "Subplot{Plots.GadflyPackage() p=4 n=4}" ] }, - "execution_count": 1, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, @@ -59,13 +29,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "\n" + "\n", + "[Plots.jl] Initializing backend: gadfly\n" ] } ], "source": [ "using Plots\n", - "qwt()\n", + "gadfly()\n", "default(leg=false,size=(400,400));\n", "y = collect(linspace(0,1,100))\n", "p = subplot(Any[y*i for i in 1:4],n=4)\n", @@ -74,56 +45,27 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "WARNING: handleLinkInner isn't implemented for qwt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "lims = [1.0,100.0]" - ] - }, { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ - "Subplot{Plots.QwtPackage() p=4 n=4}" + "Plot{Plots.GadflyPackage() n=1}" ] }, - "execution_count": 2, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "WARNING: handleLinkInner isn't implemented for qwt\n", - "WARNING: handleLinkInner isn't implemented for qwt\n", - "WARNING: handleLinkInner isn't implemented for qwt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "lims = [0.0,4.0]\n" - ] } ], "source": [ - "subplot!(link=true)" + "#subplot!(link=true)\n", + "xlims!(p.plts[1], (-5,5))\n", + "ylims!(p.plts[1], -5,5)" ] }, { @@ -336,6 +278,18 @@ "length(gl)" ] }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "plot!(p.plts[1], xlim=(-5,5))\n", + "gui()" + ] + }, { "cell_type": "code", "execution_count": null, diff --git a/src/backends/pyplot.jl b/src/backends/pyplot.jl index f2f86632..589875c8 100644 --- a/src/backends/pyplot.jl +++ b/src/backends/pyplot.jl @@ -56,13 +56,15 @@ supportedArgs(::PyPlotPackage) = [ :xflip, :yflip, :z, + :linkx, + :linky, ] supportedAxes(::PyPlotPackage) = _allAxes supportedTypes(::PyPlotPackage) = [:none, :line, :path, :step, :stepinverted, :sticks, :scatter, :heatmap, :hexbin, :hist, :bar, :hline, :vline] supportedStyles(::PyPlotPackage) = [:auto, :solid, :dash, :dot, :dashdot] supportedMarkers(::PyPlotPackage) = [:none, :auto, :rect, :ellipse, :diamond, :utriangle, :dtriangle, :cross, :xcross, :star1, :hexagon] supportedScales(::PyPlotPackage) = [:identity, :log, :log2, :log10] -subplotSupported(::PyPlotPackage) = false +subplotSupported(::PyPlotPackage) = true # convert colorant to 4-tuple RGBA getPyPlotColor(c::Colorant) = map(f->float(f(c)), (red, green, blue, alpha)) @@ -122,7 +124,7 @@ function getPyPlotFunction(plt::Plot, axis::Symbol, linetype::Symbol) # in the 2-axis case we need to get: [:] if axis == :right - ax = getRightAxis(plt.o[1]) + ax = getRightAxis(plt.o) ax[:set_ylabel](plt.initargs[:yrightlabel]) fmap = @compat Dict( :hist => :hist, @@ -163,15 +165,25 @@ function updateAxisColors(ax, fgcolor) end nop() = nothing -# makePyPlotCurrent(plt::Plot) = PyPlot.withfig(nop, plt.o[1]) -makePyPlotCurrent(plt::Plot) = PyPlot.figure(plt.o[1].o[:number]) -# makePyPlotCurrent(plt::Plot) = PyPlot.orig_figure(num = plt.o[1].o[:number]) + +makePyPlotCurrent(plt::Plot) = PyPlot.figure(plt.o.o[:number]) function preparePlotUpdate(plt::Plot{PyPlotPackage}) makePyPlotCurrent(plt) end + +# ------------------------------------------------------------------ + +# type PyPlotSubplotFigure +# fig +# axes +# end + +# type PyPlotFigure +# fig + # ------------------------------------------------------------------ # TODO: @@ -191,8 +203,8 @@ function plot(pkg::PyPlotPackage; kw...) bgcolor = getPyPlotColor(d[:background_color]) fig = PyPlot.figure(; figsize = (w,h), facecolor = bgcolor, dpi = 96) - num = fig.o[:number] - plt = Plot((fig, num), pkg, 0, d, Dict[]) + # num = fig.o[:number] + plt = Plot(fig, pkg, 0, d, Dict[]) plt end @@ -200,7 +212,7 @@ end function plot!(pkg::PyPlotPackage, plt::Plot; kw...) d = Dict(kw) - fig, num = plt.o + fig = plt.o # PyPlot.figure(num) # makes this current # makePyPlotCurrent(plt) @@ -331,7 +343,7 @@ function addPyPlotTicks(ticks, isx::Bool) end function updatePlotItems(plt::Plot{PyPlotPackage}, d::Dict) - fig = plt.o[1] + fig = plt.o # title and axis labels haskey(d, :title) && PyPlot.title(d[:title]) @@ -377,7 +389,7 @@ end # ----------------------------------------------------------------- function createPyPlotAnnotationObject(plt::Plot{PyPlotPackage}, x, y, val::@compat(AbstractString)) - ax = getLeftAxis(plt.o[1]) + ax = getLeftAxis(plt.o) ax[:annotate](val, xy = (x,y)) end @@ -391,7 +403,26 @@ end # create the underlying object (each backend will do this differently) function buildSubplotObject!(subplt::Subplot{PyPlotPackage}) - error("unsupported") + l = subplt.layout + isa(l, GridLayout) || error("Unsupported layout ", l) + + iargs = subplt.initargs[1] + w,h = map(px2inch, iargs[:size]) + bgcolor = getPyPlotColor(iargs[:background_color]) + fig, axes = PyPlot.subplots(nrows(l), ncols(l), + sharex = get(iargs,:linkx,false), + sharey = get(iargs,:linky,false), + figsize = (w,h), + facecolor = bgcolor, + dpi = 96) + @show fig axes + subplt.o = fig +end + +function handleLinkInner(plt::Plot{PyPlotPackage}, isx::Bool) +end + +function expandLimits!(lims, plt::Plot{PyPlotPackage}, isx::Bool) end # ----------------------------------------------------------------- @@ -408,7 +439,7 @@ end function Base.writemime(io::IO, m::MIME"image/png", plt::PlottingObject{PyPlotPackage}) - fig, num = plt.o + fig = plt.o addPyPlotLegend(plt) ax = fig.o[:axes][1] updateAxisColors(ax, getPyPlotColor(plt.initargs[:foreground_color])) @@ -417,7 +448,7 @@ end function Base.display(::PlotsDisplay, plt::Plot{PyPlotPackage}) - fig, num = plt.o + fig = plt.o addPyPlotLegend(plt) ax = fig.o[:axes][1] updateAxisColors(ax, getPyPlotColor(plt.initargs[:foreground_color])) diff --git a/src/subplot.jl b/src/subplot.jl index f1d814ba..796d5f3a 100644 --- a/src/subplot.jl +++ b/src/subplot.jl @@ -122,7 +122,6 @@ function linkAxis(subplt::Subplot, isx::Bool) expandLimits!(lims, plt, isx) end - @show lims for plt in subplt.plts (isx ? xlims! : ylims!)(plt, lims...) end