From 85068d82d9ff9502fb79e8d9deee883a43b6ab62 Mon Sep 17 00:00:00 2001 From: Patrick Kofod Mogensen Date: Tue, 15 Mar 2016 16:20:12 +0100 Subject: [PATCH] Baby steps --- src/backends/pgfplots.jl | 15 ++++++++++++++- src/backends/supported.jl | 9 ++++----- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/backends/pgfplots.jl b/src/backends/pgfplots.jl index 1b71568a..92dc628c 100644 --- a/src/backends/pgfplots.jl +++ b/src/backends/pgfplots.jl @@ -85,11 +85,24 @@ end ################# This is the important method to implement!!! ################# function _make_pgf_plot(plt::Plot{PGFPlotsBackend}) + line_type = plt.seriesargs[1][:linetype] + if line_type == :path + plt.o = PGFPlots.Linear(plt.seriesargs[1][:x], plt.seriesargs[1][:y]) + elseif line_type == :scatter + plt.o = PGFPlots.Scatter(plt.seriesargs[1][:x], plt.seriesargs[1][:y]) + elseif line_type == :steppost + plt.o = PGFPlots.Linear(plt.seriesargs[1][:x], plt.seriesargs[1][:y], style="const plot") + elseif line_type == :hist + plt_hist = hist(plt.seriesargs[1][:y]) + plt.o = PGFPlots.Linear(plt_hist[1][1:end-1], plt_hist[2], style="ybar,fill=green", mark="none") + elseif line_type == :bar + plt.o = PGFPlots.Linear(plt.seriesargs[1][:x], plt.seriesargs[1][:y], style="ybar,fill=green", mark="none") + end # TODO: convert plt.plotargs and plt.seriesargs into PGFPlots calls # TODO: return the PGFPlots object end -function Base.writemime(io::IO, mime::MIME"image/png", plt::AbstractPlot{PGFPlotsBackend}) +function Base.writemime(io::IO, mime::MIME"image/svg+xml", plt::AbstractPlot{PGFPlotsBackend}) plt.o = _make_pgf_plot(plt) writemime(io, mime, plt.o) end diff --git a/src/backends/supported.jl b/src/backends/supported.jl index 11168686..6b868f58 100644 --- a/src/backends/supported.jl +++ b/src/backends/supported.jl @@ -723,7 +723,7 @@ supportedArgs(::PGFPlotsBackend) = [ # :legend, # :linecolor, # :linestyle, - # :linetype, + :linetype, # :linewidth, # :linealpha, # :markershape, @@ -743,11 +743,11 @@ supportedArgs(::PGFPlotsBackend) = [ # :size, # :title, # :windowtitle, - # :x, + :x, # :xlabel, # :xlims, # :xticks, - # :y, + :y, # :ylabel, # :ylims, # :yrightlabel, @@ -765,9 +765,8 @@ supportedArgs(::PGFPlotsBackend) = [ # :levels, ] supportedAxes(::PGFPlotsBackend) = [:auto, :left] -supportedTypes(::PGFPlotsBackend) = [:contour] #, :path, :scatter ,:steppre, :steppost, :sticks, :hist2d, :hexbin, :hist, :bar, :hline, :vline, :contour] +supportedTypes(::PGFPlotsBackend) = [:path, :scatter, :line, :steppost, :hist, :bar] #, :steppre, :sticks, :hist2d, :hexbin, :bar, :hline, :vline, :contour] supportedStyles(::PGFPlotsBackend) = [:auto, :solid] #, :dash, :dot, :dashdot, :dashdotdot] supportedMarkers(::PGFPlotsBackend) = [:none, :auto, :ellipse] #, :rect, :diamond, :utriangle, :dtriangle, :cross, :xcross, :star5] #vcat(_allMarkers, Shape) supportedScales(::PGFPlotsBackend) = [:identity] #, :log, :log2, :log10, :asinh, :sqrt] subplotSupported(::PGFPlotsBackend) = false -