From 6beadcece8136e11da2f3f21464a393242988366 Mon Sep 17 00:00:00 2001 From: Thomas Breloff Date: Sat, 21 Nov 2015 13:59:26 -0500 Subject: [PATCH] fixes for contours in pyplot and gadfly --- src/backends/gadfly.jl | 19 ++++++++++++++----- src/backends/pyplot.jl | 2 +- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/backends/gadfly.jl b/src/backends/gadfly.jl index 5bb29fb0..3534b86f 100644 --- a/src/backends/gadfly.jl +++ b/src/backends/gadfly.jl @@ -119,8 +119,9 @@ function addGadflyLine!(plt::Plot, numlayers::Int, d::Dict, geoms...) kwargs[:xmin] = d[:x] - w kwargs[:xmax] = d[:x] + w elseif lt == :contour - d[:y] = reverse(d[:y]) + # d[:y] = reverse(d[:y]) kwargs[:z] = d[:surface] + addGadflyContColorScale(plt, d[:linecolor]) end kwargs[:x] = d[lt == :hist ? :y : :x] @@ -190,6 +191,13 @@ function getGadflyMarkerTheme(d::Dict, plotargs::Dict) ) end +function addGadflyContColorScale(plt::Plot{GadflyPackage}, c) + if !isa(c, ColorGradient) + c = colorscheme(:bluesreds) + end + push!(getGadflyContext(plt).scales, Gadfly.Scale.ContinuousColorScale(p -> RGB(getColorZ(c, p)))) +end + function addGadflyMarker!(plt::Plot, numlayers::Int, d::Dict, plotargs::Dict, geoms...) gfargs = vcat(geoms..., getGadflyMarkerTheme(d, plotargs), @@ -200,10 +208,11 @@ function addGadflyMarker!(plt::Plot, numlayers::Int, d::Dict, plotargs::Dict, ge zcolor = d[:zcolor] if zcolor != nothing && typeof(zcolor) <: AVec kwargs[:color] = zcolor - if !isa(d[:markercolor], ColorGradient) - d[:markercolor] = colorscheme(:bluesreds) - end - push!(getGadflyContext(plt).scales, Gadfly.Scale.ContinuousColorScale(p -> RGB(getColorZ(d[:markercolor], p)))) + addGadflyContColorScale(plt, d[:markercolor]) + # if !isa(d[:markercolor], ColorGradient) + # d[:markercolor] = colorscheme(:bluesreds) + # end + # push!(getGadflyContext(plt).scales, Gadfly.Scale.ContinuousColorScale(p -> RGB(getColorZ(d[:markercolor], p)))) end Gadfly.layer(gfargs...; x = d[:x], y = d[:y], order=numlayers, kwargs...) diff --git a/src/backends/pyplot.jl b/src/backends/pyplot.jl index 1c07f787..d7a34526 100644 --- a/src/backends/pyplot.jl +++ b/src/backends/pyplot.jl @@ -319,7 +319,7 @@ function _add_series(pkg::PyPlotPackage, plt::Plot; kw...) elseif lt == :contour # NOTE: x/y are backwards in pyplot, so we switch the x and y args (also y is reversed), # and take the transpose of the surface matrix - x, y = d[:y], d[:x] + x, y = d[:x], d[:y] surf = d[:surface]' handle = plotfunc(x, y, surf, d[:nlevels]; extra_kwargs...) if d[:fillrange] != nothing