change legend symbols for shapes and filled plots on pyplot

This commit is contained in:
Daniel Schwabeneder 2017-11-17 11:33:10 +01:00
parent 18619e9010
commit 1aa780f0a2

View File

@ -2,7 +2,7 @@
# https://github.com/stevengj/PyPlot.jl # https://github.com/stevengj/PyPlot.jl
@require Revise begin @require Revise begin
Revise.track(Plots, joinpath(Pkg.dir("Plots"), "src", "backends", "pyplot.jl")) Revise.track(Plots, joinpath(Pkg.dir("Plots"), "src", "backends", "pyplot.jl"))
end end
const _pyplot_attr = merge_with_base_supported([ const _pyplot_attr = merge_with_base_supported([
@ -1009,7 +1009,7 @@ function _before_layout_calcs(plt::Plot{PyPlotBackend})
for lab in cb[:ax][:yaxis][:get_ticklabels]() for lab in cb[:ax][:yaxis][:get_ticklabels]()
lab[:set_fontsize](py_dpi_scale(plt, sp[:yaxis][:tickfont].pointsize)) lab[:set_fontsize](py_dpi_scale(plt, sp[:yaxis][:tickfont].pointsize))
lab[:set_family](sp[:yaxis][:tickfont].family) lab[:set_family](sp[:yaxis][:tickfont].family)
end end
sp.attr[:cbar_handle] = cb sp.attr[:cbar_handle] = cb
sp.attr[:cbar_ax] = cbax sp.attr[:cbar_ax] = cbax
end end
@ -1221,10 +1221,11 @@ function py_add_legend(plt::Plot, sp::Subplot, ax)
for series in series_list(sp) for series in series_list(sp)
if should_add_to_legend(series) if should_add_to_legend(series)
# add a line/marker and a label # add a line/marker and a label
push!(handles, if series[:seriestype] == :shape push!(handles, if series[:seriestype] == :shape || series[:fillrange] != nothing
PyPlot.plt[:Line2D]((0,1),(0,0), pypatches[:Patch](
color = py_color(_cycle(series[:fillcolor],1)), edgecolor = py_color(_cycle(series[:linecolor],1)),
linewidth = py_dpi_scale(plt, 4) facecolor = py_color(_cycle(series[:fillcolor],1)),
linewidth = py_dpi_scale(plt, series[:linewidth])
) )
elseif series[:seriestype] == :path elseif series[:seriestype] == :path
PyPlot.plt[:Line2D]((0,1),(0,0), PyPlot.plt[:Line2D]((0,1),(0,0),