diff --git a/docs/immerse_examples.md b/docs/immerse_examples.md index d3585e33..a66ee7bb 100644 --- a/docs/immerse_examples.md +++ b/docs/immerse_examples.md @@ -1,10 +1,10 @@ # Examples for backend: immerse -- Supported arguments: `args`, `axis`, `color`, `kwargs`, `label`, `legend`, `linestyle`, `linetype`, `marker`, `markercolor`, `markersize`, `nbins`, `reg`, `size`, `title`, `width`, `windowtitle`, `xlabel`, `ylabel`, `yrightlabel` +- Supported arguments: `args`, `axis`, `background_color`, `color`, `fillto`, `foreground_color`, `group`, `kwargs`, `label`, `legend`, `linestyle`, `linetype`, `marker`, `markercolor`, `markersize`, `nbins`, `reg`, `ribbon`, `show`, `size`, `title`, `width`, `windowtitle`, `xlabel`, `xticks`, `ylabel`, `yrightlabel`, `yticks` - Supported values for axis: `:auto`, `:left` -- Supported values for linetype: `:none`, `:line`, `:step`, `:sticks`, `:scatter`, `:heatmap`, `:hexbin`, `:hist`, `:bar`, `:hline`, `:vline`, `:ohlc` -- Supported values for linestyle: `:auto`, `:solid` -- Supported values for marker: `:none`, `:auto`, `:rect`, `:ellipse`, `:diamond`, `:utriangle`, `:dtriangle`, `:cross`, `:xcross`, `:star1`, `:star2`, `:hexagon` +- Supported values for linetype: `:none`, `:line`, `:path`, `:steppost`, `:sticks`, `:scatter`, `:heatmap`, `:hexbin`, `:hist`, `:bar`, `:hline`, `:vline`, `:ohlc` +- Supported values for linestyle: `:auto`, `:solid`, `:dash`, `:dot`, `:dashdot`, `:dashdotdot` +- Supported values for marker: `:none`, `:auto`, `:rect`, `:ellipse`, `:diamond`, `:utriangle`, `:dtriangle`, `:cross`, `:xcross`, `:star1`, `:star2`, `:hexagon`, `:octagon` - Is `subplot`/`subplot!` supported? Yes ### Initialize @@ -19,7 +19,7 @@ immerse!() A simple line plot of the 3 columns. ```julia -plot(rand(100,3)) +plot(rand(50,5),w=3) ``` ![](../img/immerse/immerse_example_1.png) @@ -51,7 +51,7 @@ Or make a parametric plot (i.e. plot: (fx(u), fy(u))) with plot(fx, fy, umin, um ```julia plot(sin,(x->begin # /home/tom/.julia/v0.4/Plots/docs/example_generation.jl, line 33: sin(2x) - end),0,2π,legend=false) + end),0,2π,legend=false,fillto=0) ``` ![](../img/immerse/immerse_example_4.png) @@ -61,7 +61,7 @@ plot(sin,(x->begin # /home/tom/.julia/v0.4/Plots/docs/example_generation.jl, li Change the guides/background without a separate call. ```julia -plot(rand(10); title="TITLE",xlabel="XLABEL",ylabel="YLABEL",background_color=RGB(0.5,0.5,0.5)) +plot(rand(10); title="TITLE",xlabel="XLABEL",ylabel="YLABEL",background_color=RGB(0.2,0.2,0.2)) ``` ![](../img/immerse/immerse_example_5.png) @@ -73,7 +73,7 @@ Use the `axis` or `axiss` arguments. Note: Currently only supported with Qwt and PyPlot ```julia -plot(Vector[randn(100),randn(100) * 100]; axiss=[:left,:right],ylabel="LEFT",yrightlabel="RIGHT") +plot(Vector[randn(100),randn(100) * 100]; axis=[:l,:r],ylabel="LEFT",yrightlabel="RIGHT") ``` ![](../img/immerse/immerse_example_6.png) @@ -103,7 +103,7 @@ plot(rand(100) / 3; reg=true,fillto=0) and add to it later. ```julia -scatter!(rand(100); markersize=6,color=:blue) +scatter!(rand(100); markersize=6,c=:blue) ``` ![](../img/immerse/immerse_example_9.png) @@ -123,11 +123,11 @@ heatmap(randn(10000),randn(10000); nbins=100) ```julia -types = intersect(supportedTypes(),[:line,:step,:stepinverted,:sticks,:scatter]) +types = intersect(supportedTypes(),[:line,:path,:steppre,:steppost,:sticks,:scatter]) n = length(types) x = Vector[sort(rand(20)) for i = 1:n] y = rand(20,n) -plot(x,y; linetypes=types,labels=map(string,types)) +plot(x,y; t=types,lab=map(string,types)) ``` ![](../img/immerse/immerse_example_11.png) @@ -138,7 +138,7 @@ plot(x,y; linetypes=types,labels=map(string,types)) ```julia styles = setdiff(supportedStyles(),[:auto]) -plot(rand(20,length(styles)); linestyle=:auto,labels=map(string,styles)) +plot(cumsum(randn(20,length(styles)),1); style=:auto,label=map(string,styles),w=5) ``` ![](../img/immerse/immerse_example_12.png) @@ -149,7 +149,7 @@ plot(rand(20,length(styles)); linestyle=:auto,labels=map(string,styles)) ```julia markers = setdiff(supportedMarkers(),[:none,:auto]) -scatter(0.5:9.5,[fill(i - 0.5,10) for i = length(markers):-1:1]; marker=:auto,labels=map(string,markers),markersize=10) +scatter(0.5:9.5,[fill(i - 0.5,10) for i = length(markers):-1:1]; marker=:auto,label=map(string,markers),markersize=10) ``` ![](../img/immerse/immerse_example_13.png) @@ -166,10 +166,10 @@ bar(randn(1000)) ### Histogram -note: fillto isn't supported on all backends + ```julia -histogram(randn(1000); nbins=50,fillto=20) +histogram(randn(1000); nbins=50) ``` ![](../img/immerse/immerse_example_15.png) @@ -219,7 +219,7 @@ hgt = rand(n) + 1 bot = randn(n) openpct = rand(n) closepct = rand(n) -y = [(openpct[i] * hgt[i] + bot[i],bot[i] + hgt[i],bot[i],closepct[i] * hgt[i] + bot[i]) for i = 1:n] +y = [OHLC(openpct[i] * hgt[i] + bot[i],bot[i] + hgt[i],bot[i],closepct[i] * hgt[i] + bot[i]) for i = 1:n] ohlc(y; markersize=8) ``` diff --git a/img/gadfly/gadfly_example_1.png b/img/gadfly/gadfly_example_1.png index 8ba93af5..8cbb4049 100644 Binary files a/img/gadfly/gadfly_example_1.png and b/img/gadfly/gadfly_example_1.png differ diff --git a/img/gadfly/gadfly_example_10.png b/img/gadfly/gadfly_example_10.png index d9ff4154..10b2e9a4 100644 Binary files a/img/gadfly/gadfly_example_10.png and b/img/gadfly/gadfly_example_10.png differ diff --git a/img/gadfly/gadfly_example_11.png b/img/gadfly/gadfly_example_11.png index 632107d1..c5ac0752 100644 Binary files a/img/gadfly/gadfly_example_11.png and b/img/gadfly/gadfly_example_11.png differ diff --git a/img/gadfly/gadfly_example_12.png b/img/gadfly/gadfly_example_12.png index 214a5c7c..219e7316 100644 Binary files a/img/gadfly/gadfly_example_12.png and b/img/gadfly/gadfly_example_12.png differ diff --git a/img/gadfly/gadfly_example_13.png b/img/gadfly/gadfly_example_13.png index 0086868f..364caa32 100644 Binary files a/img/gadfly/gadfly_example_13.png and b/img/gadfly/gadfly_example_13.png differ diff --git a/img/gadfly/gadfly_example_14.png b/img/gadfly/gadfly_example_14.png index bc0abbeb..5bc36b48 100644 Binary files a/img/gadfly/gadfly_example_14.png and b/img/gadfly/gadfly_example_14.png differ diff --git a/img/gadfly/gadfly_example_15.png b/img/gadfly/gadfly_example_15.png index a11ca5da..99882c08 100644 Binary files a/img/gadfly/gadfly_example_15.png and b/img/gadfly/gadfly_example_15.png differ diff --git a/img/gadfly/gadfly_example_16.png b/img/gadfly/gadfly_example_16.png index 8676b4bf..f99be322 100644 Binary files a/img/gadfly/gadfly_example_16.png and b/img/gadfly/gadfly_example_16.png differ diff --git a/img/gadfly/gadfly_example_17.png b/img/gadfly/gadfly_example_17.png index 20f0ca0f..ee399154 100644 Binary files a/img/gadfly/gadfly_example_17.png and b/img/gadfly/gadfly_example_17.png differ diff --git a/img/gadfly/gadfly_example_18.png b/img/gadfly/gadfly_example_18.png index 87cd3bf3..ff6c357b 100644 Binary files a/img/gadfly/gadfly_example_18.png and b/img/gadfly/gadfly_example_18.png differ diff --git a/img/gadfly/gadfly_example_19.png b/img/gadfly/gadfly_example_19.png index 41d50083..44da0a3a 100644 Binary files a/img/gadfly/gadfly_example_19.png and b/img/gadfly/gadfly_example_19.png differ diff --git a/img/gadfly/gadfly_example_2.png b/img/gadfly/gadfly_example_2.png index 8ccf63bf..235b997c 100644 Binary files a/img/gadfly/gadfly_example_2.png and b/img/gadfly/gadfly_example_2.png differ diff --git a/img/gadfly/gadfly_example_3.png b/img/gadfly/gadfly_example_3.png index 98229a7d..7d76f787 100644 Binary files a/img/gadfly/gadfly_example_3.png and b/img/gadfly/gadfly_example_3.png differ diff --git a/img/gadfly/gadfly_example_4.png b/img/gadfly/gadfly_example_4.png index 0a10a9ef..5ddf96b2 100644 Binary files a/img/gadfly/gadfly_example_4.png and b/img/gadfly/gadfly_example_4.png differ diff --git a/img/gadfly/gadfly_example_5.png b/img/gadfly/gadfly_example_5.png index 1291d149..435e93bc 100644 Binary files a/img/gadfly/gadfly_example_5.png and b/img/gadfly/gadfly_example_5.png differ diff --git a/img/gadfly/gadfly_example_6.png b/img/gadfly/gadfly_example_6.png index 9853de3d..892eb251 100644 Binary files a/img/gadfly/gadfly_example_6.png and b/img/gadfly/gadfly_example_6.png differ diff --git a/img/gadfly/gadfly_example_7.png b/img/gadfly/gadfly_example_7.png index d4d4e0a7..dfe3947e 100644 Binary files a/img/gadfly/gadfly_example_7.png and b/img/gadfly/gadfly_example_7.png differ diff --git a/img/gadfly/gadfly_example_8.png b/img/gadfly/gadfly_example_8.png index a4d29b76..9a36493c 100644 Binary files a/img/gadfly/gadfly_example_8.png and b/img/gadfly/gadfly_example_8.png differ diff --git a/img/gadfly/gadfly_example_9.png b/img/gadfly/gadfly_example_9.png index 2885d844..907df789 100644 Binary files a/img/gadfly/gadfly_example_9.png and b/img/gadfly/gadfly_example_9.png differ diff --git a/img/immerse/immerse_example_1.png b/img/immerse/immerse_example_1.png index dcb2ef85..8cbb4049 100644 Binary files a/img/immerse/immerse_example_1.png and b/img/immerse/immerse_example_1.png differ diff --git a/img/immerse/immerse_example_10.png b/img/immerse/immerse_example_10.png index e6dd9aaa..10b2e9a4 100644 Binary files a/img/immerse/immerse_example_10.png and b/img/immerse/immerse_example_10.png differ diff --git a/img/immerse/immerse_example_11.png b/img/immerse/immerse_example_11.png index d7f55da5..c5ac0752 100644 Binary files a/img/immerse/immerse_example_11.png and b/img/immerse/immerse_example_11.png differ diff --git a/img/immerse/immerse_example_12.png b/img/immerse/immerse_example_12.png index cc4d41ec..219e7316 100644 Binary files a/img/immerse/immerse_example_12.png and b/img/immerse/immerse_example_12.png differ diff --git a/img/immerse/immerse_example_13.png b/img/immerse/immerse_example_13.png index 0086868f..364caa32 100644 Binary files a/img/immerse/immerse_example_13.png and b/img/immerse/immerse_example_13.png differ diff --git a/img/immerse/immerse_example_14.png b/img/immerse/immerse_example_14.png index be5fdd8e..5bc36b48 100644 Binary files a/img/immerse/immerse_example_14.png and b/img/immerse/immerse_example_14.png differ diff --git a/img/immerse/immerse_example_15.png b/img/immerse/immerse_example_15.png index de94db4f..99882c08 100644 Binary files a/img/immerse/immerse_example_15.png and b/img/immerse/immerse_example_15.png differ diff --git a/img/immerse/immerse_example_16.png b/img/immerse/immerse_example_16.png index 1d37e1f3..f99be322 100644 Binary files a/img/immerse/immerse_example_16.png and b/img/immerse/immerse_example_16.png differ diff --git a/img/immerse/immerse_example_17.png b/img/immerse/immerse_example_17.png index 114ccd1b..ee399154 100644 Binary files a/img/immerse/immerse_example_17.png and b/img/immerse/immerse_example_17.png differ diff --git a/img/immerse/immerse_example_18.png b/img/immerse/immerse_example_18.png index b037a7f3..ff6c357b 100644 Binary files a/img/immerse/immerse_example_18.png and b/img/immerse/immerse_example_18.png differ diff --git a/img/immerse/immerse_example_19.png b/img/immerse/immerse_example_19.png index 35f2e0d4..44da0a3a 100644 Binary files a/img/immerse/immerse_example_19.png and b/img/immerse/immerse_example_19.png differ diff --git a/img/immerse/immerse_example_2.png b/img/immerse/immerse_example_2.png index 8ccf63bf..235b997c 100644 Binary files a/img/immerse/immerse_example_2.png and b/img/immerse/immerse_example_2.png differ diff --git a/img/immerse/immerse_example_3.png b/img/immerse/immerse_example_3.png index 98229a7d..7d76f787 100644 Binary files a/img/immerse/immerse_example_3.png and b/img/immerse/immerse_example_3.png differ diff --git a/img/immerse/immerse_example_4.png b/img/immerse/immerse_example_4.png index 0a10a9ef..5ddf96b2 100644 Binary files a/img/immerse/immerse_example_4.png and b/img/immerse/immerse_example_4.png differ diff --git a/img/immerse/immerse_example_5.png b/img/immerse/immerse_example_5.png index 4d8e39e5..435e93bc 100644 Binary files a/img/immerse/immerse_example_5.png and b/img/immerse/immerse_example_5.png differ diff --git a/img/immerse/immerse_example_6.png b/img/immerse/immerse_example_6.png index 803669bf..892eb251 100644 Binary files a/img/immerse/immerse_example_6.png and b/img/immerse/immerse_example_6.png differ diff --git a/img/immerse/immerse_example_7.png b/img/immerse/immerse_example_7.png index 31a77c7c..dfe3947e 100644 Binary files a/img/immerse/immerse_example_7.png and b/img/immerse/immerse_example_7.png differ diff --git a/img/immerse/immerse_example_8.png b/img/immerse/immerse_example_8.png index daf6a271..5c426b75 100644 Binary files a/img/immerse/immerse_example_8.png and b/img/immerse/immerse_example_8.png differ diff --git a/img/immerse/immerse_example_9.png b/img/immerse/immerse_example_9.png index ce4b59bd..f2e83f32 100644 Binary files a/img/immerse/immerse_example_9.png and b/img/immerse/immerse_example_9.png differ diff --git a/src/backends/gadfly.jl b/src/backends/gadfly.jl index a6bc839f..41577ee2 100644 --- a/src/backends/gadfly.jl +++ b/src/backends/gadfly.jl @@ -153,11 +153,17 @@ function addGadflySeries!(gplt, d::Dict, initargs::Dict) append!(gfargs, getLineGeoms(d)) # fillto - if d[:fillto] != nothing + if d[:fillto] == nothing + yminmax = [] + else fillto = makevec(d[:fillto]) n = length(fillto) - push!(d[:kwargs], (:ymin, Float64[min(y, fillto[mod1(i,n)]) for (i,y) in enumerate(d[:y])])) - push!(d[:kwargs], (:ymax, Float64[max(y, fillto[mod1(i,n)]) for (i,y) in enumerate(d[:y])])) + yminmax = [ + (:ymin, Float64[min(y, fillto[mod1(i,n)]) for (i,y) in enumerate(d[:y])]), + (:ymax, Float64[max(y, fillto[mod1(i,n)]) for (i,y) in enumerate(d[:y])]) + ] + # push!(d[:kwargs], (:ymin, Float64[min(y, fillto[mod1(i,n)]) for (i,y) in enumerate(d[:y])])) + # push!(d[:kwargs], (:ymax, Float64[max(y, fillto[mod1(i,n)]) for (i,y) in enumerate(d[:y])])) # push!(d[:kwargs], (:ymax, Float64[max(y, fillto) for y in d[:y]])) push!(gfargs, Gadfly.Geom.ribbon) end @@ -188,8 +194,10 @@ function addGadflySeries!(gplt, d::Dict, initargs::Dict) # add the layer to the Gadfly.Plot + # @show d[:kwargs] # prepend!(gplt.layers, Gadfly.layer(unique(gfargs)..., d[:args]...; x = x, y = d[:y], d[:kwargs]...)) - prepend!(gplt.layers, Gadfly.layer(unique(gfargs)...; x = x, y = d[:y])) + prepend!(gplt.layers, Gadfly.layer(unique(gfargs)...; x = x, y = d[:y], yminmax...)) + # prepend!(gplt.layers, Gadfly.layer(unique(gfargs)...; x = x, y = d[:y])) nothing end diff --git a/src/backends/immerse.jl b/src/backends/immerse.jl index 442df58a..43766583 100644 --- a/src/backends/immerse.jl +++ b/src/backends/immerse.jl @@ -101,7 +101,7 @@ end getGadflyContext(::ImmersePackage, plt::Plot) = plt.o[2] getGadflyContext(::ImmersePackage, subplt::Subplot) = buildGadflySubplotContext(subplt) -function Base.writemime(io::IO, ::MIME"image/png", plt::PlottingObject{ImmersePackage}) +function Base.writemime(io::IO, ::MIME"image/png", plt::Plot{ImmersePackage}) gplt = getGadflyContext(plt.plotter, plt) setGadflyDisplaySize(plt.initargs[:size]...) Gadfly.draw(Gadfly.PNG(io, Compose.default_graphic_width, Compose.default_graphic_height), gplt) @@ -120,6 +120,13 @@ function Base.display(::PlotsDisplay, plt::Plot{ImmersePackage}) display(gplt) end + +function Base.writemime(io::IO, ::MIME"image/png", plt::Subplot{ImmersePackage}) + gplt = getGadflyContext(plt.plotter, plt) + setGadflyDisplaySize(plt.initargs[1][:size]...) + Gadfly.draw(Gadfly.PNG(io, Compose.default_graphic_width, Compose.default_graphic_height), gplt) +end + function Base.display(::PlotsDisplay, subplt::Subplot{ImmersePackage}) # display the plots by creating a fresh Immerse.Figure object from the GtkCanvas and Gadfly.Plot