From 23b191231c19342e630592c391e0f85a1ac9b706 Mon Sep 17 00:00:00 2001 From: Simon Christ Date: Thu, 19 Mar 2020 11:57:10 +0100 Subject: [PATCH] more positions (#2490) * tick label styling * add title_location * add legend positions * fix commata --- src/backends/pgfplotsx.jl | 35 ++++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/src/backends/pgfplotsx.jl b/src/backends/pgfplotsx.jl index 2a4e337d..672636c6 100644 --- a/src/backends/pgfplotsx.jl +++ b/src/backends/pgfplotsx.jl @@ -117,14 +117,24 @@ function (pgfx_plot::PGFPlotsXPlot)(plt::Plot{PGFPlotsXBackend}) fg_alpha = alpha(plot_color(sp[:foreground_color_legend])) title_cstr = plot_color(sp[:titlefontcolor]) title_a = alpha(title_cstr) + title_loc = sp[:title_location] bgc_inside = plot_color(sp[:background_color_inside]) bgc_inside_a = alpha(bgc_inside) axis_opt = PGFPlotsX.Options( "title" => sp[:title], "title style" => PGFPlotsX.Options( - "font" => pgfx_font( - sp[:titlefontsize], - pgfx_thickness_scaling(sp), + "at" => if title_loc == :left + "{(0,1)}" + elseif title_loc == :right + "{(1,1)}" + elseif title_loc isa Tuple + "{$(string(title_loc))}" + else + "{(0.5,1)}" + end, + "font" => pgfx_font( + sp[:titlefontsize], + pgfx_thickness_scaling(sp), ), "color" => title_cstr, "draw opacity" => title_a, @@ -594,11 +604,22 @@ const _pgfplotsx_markers = KW( ) const _pgfplotsx_legend_pos = KW( + :top => "north", + :bottom => "south", + :left => "west", + :right => "east", :bottomleft => "south west", :bottomright => "south east", :topright => "north east", :topleft => "north west", + :outertop => "north", + :outerbottom => "outer south", + :outerleft => "outer west", + :outerright => "outer east", + :outerbottomleft => "outer south west", + :outerbottomright => "outer south east", :outertopright => "outer north east", + :outertopleft => "outer north west", ) const _pgfx_framestyles = [:box, :axes, :origin, :zerolines, :grid, :none] @@ -929,6 +950,14 @@ function pgfx_axis!(opt::PGFPlotsX.Options, sp::Subplot, letter) "opacity" => alpha(tick_color), ), ) + tick_label_color = plot_color(axis[:tickfontcolor]) + push!(opt, + "$(letter) tick label style" => PGFPlotsX.Options( + "color" => color(tick_color), + "opacity" => alpha(tick_color), + "rotate" => axis[:rotation] + ), + ) # set to supported framestyle framestyle = pgfx_framestyle(sp[:framestyle] == false ? :none : sp[:framestyle])