Make Plots backends aware of new :stepmid option
This commit is contained in:
parent
ddf6aa9760
commit
c2cb60ff12
@ -555,6 +555,7 @@ const _pyplot_attr = merge_with_base_supported([
|
|||||||
const _pyplot_seriestype = [
|
const _pyplot_seriestype = [
|
||||||
:path,
|
:path,
|
||||||
:steppre,
|
:steppre,
|
||||||
|
:stepmid,
|
||||||
:steppost,
|
:steppost,
|
||||||
:shape,
|
:shape,
|
||||||
:straightline,
|
:straightline,
|
||||||
@ -636,6 +637,7 @@ const _hdf5_attr = merge_with_base_supported([
|
|||||||
const _hdf5_seriestype = [
|
const _hdf5_seriestype = [
|
||||||
:path,
|
:path,
|
||||||
:steppre,
|
:steppre,
|
||||||
|
:stepmid,
|
||||||
:steppost,
|
:steppost,
|
||||||
:shape,
|
:shape,
|
||||||
:straightline,
|
:straightline,
|
||||||
@ -707,7 +709,7 @@ const _inspectdr_attr = merge_with_base_supported([
|
|||||||
])
|
])
|
||||||
const _inspectdr_style = [:auto, :solid, :dash, :dot, :dashdot]
|
const _inspectdr_style = [:auto, :solid, :dash, :dot, :dashdot]
|
||||||
const _inspectdr_seriestype = [
|
const _inspectdr_seriestype = [
|
||||||
:path, :scatter, :shape, :straightline, #, :steppre, :steppost
|
:path, :scatter, :shape, :straightline, #, :steppre, :stepmid, :steppost
|
||||||
]
|
]
|
||||||
#see: _allMarkers, _shape_keys
|
#see: _allMarkers, _shape_keys
|
||||||
const _inspectdr_marker = Symbol[
|
const _inspectdr_marker = Symbol[
|
||||||
|
|||||||
@ -290,7 +290,7 @@ For st in :shape:
|
|||||||
color = linecolor, fillcolor = fillcolor
|
color = linecolor, fillcolor = fillcolor
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
elseif st in (:path, :scatter, :straightline) #, :steppre, :steppost)
|
elseif st in (:path, :scatter, :straightline) #, :steppre, :stepmid, :steppost)
|
||||||
#NOTE: In Plots.jl, :scatter plots have 0-linewidths (I think).
|
#NOTE: In Plots.jl, :scatter plots have 0-linewidths (I think).
|
||||||
linewidth = series[:linewidth]
|
linewidth = series[:linewidth]
|
||||||
#More efficient & allows some support for markerstrokewidth:
|
#More efficient & allows some support for markerstrokewidth:
|
||||||
|
|||||||
@ -789,6 +789,8 @@ function plotly_series_segments(series::Series, plotattributes_base::KW, x, y, z
|
|||||||
:width => get_linewidth(series, i),
|
:width => get_linewidth(series, i),
|
||||||
:shape => if st == :steppre
|
:shape => if st == :steppre
|
||||||
"vh"
|
"vh"
|
||||||
|
elseif st == :stepmid
|
||||||
|
"hvh"
|
||||||
elseif st == :steppost
|
elseif st == :steppost
|
||||||
"hv"
|
"hv"
|
||||||
else
|
else
|
||||||
|
|||||||
@ -152,12 +152,14 @@ end
|
|||||||
|
|
||||||
function py_stepstyle(seriestype::Symbol)
|
function py_stepstyle(seriestype::Symbol)
|
||||||
seriestype == :steppost && return "steps-post"
|
seriestype == :steppost && return "steps-post"
|
||||||
|
seriestype == :stepmid && return "steps-mid"
|
||||||
seriestype == :steppre && return "steps-pre"
|
seriestype == :steppre && return "steps-pre"
|
||||||
return "default"
|
return "default"
|
||||||
end
|
end
|
||||||
|
|
||||||
function py_fillstepstyle(seriestype::Symbol)
|
function py_fillstepstyle(seriestype::Symbol)
|
||||||
seriestype == :steppost && return "post"
|
seriestype == :steppost && return "post"
|
||||||
|
seriestype == :stepmid && return "mid"
|
||||||
seriestype == :steppre && return "pre"
|
seriestype == :steppre && return "pre"
|
||||||
return nothing
|
return nothing
|
||||||
end
|
end
|
||||||
@ -408,7 +410,7 @@ function py_add_series(plt::Plot{PyPlotBackend}, series::Series)
|
|||||||
# for each plotting command, optionally build and add a series handle to the list
|
# for each plotting command, optionally build and add a series handle to the list
|
||||||
|
|
||||||
# line plot
|
# line plot
|
||||||
if st in (:path, :path3d, :steppre, :steppost, :straightline)
|
if st in (:path, :path3d, :steppre, :stepmid, :steppost, :straightline)
|
||||||
if maximum(series[:linewidth]) > 0
|
if maximum(series[:linewidth]) > 0
|
||||||
# TODO: check LineCollection alternative for speed
|
# TODO: check LineCollection alternative for speed
|
||||||
# if length(segments) > 1 && (any(typeof(series[attr]) <: AbstractVector for attr in (:fillcolor, :fillalpha)) || series[:fill_z] !== nothing) && !(typeof(series[:linestyle]) <: AbstractVector)
|
# if length(segments) > 1 && (any(typeof(series[attr]) <: AbstractVector for attr in (:fillcolor, :fillalpha)) || series[:fill_z] !== nothing) && !(typeof(series[:linestyle]) <: AbstractVector)
|
||||||
@ -485,7 +487,7 @@ function py_add_series(plt::Plot{PyPlotBackend}, series::Series)
|
|||||||
|
|
||||||
# add markers?
|
# add markers?
|
||||||
if series[:markershape] != :none && st in (
|
if series[:markershape] != :none && st in (
|
||||||
:path, :scatter, :path3d, :scatter3d, :steppre, :steppost, :bar
|
:path, :scatter, :path3d, :scatter3d, :steppre, :stepmid, :steppost, :bar
|
||||||
)
|
)
|
||||||
for segment in series_segments(series, :scatter)
|
for segment in series_segments(series, :scatter)
|
||||||
i, rng = segment.attr_index, segment.range
|
i, rng = segment.attr_index, segment.range
|
||||||
@ -1363,7 +1365,7 @@ function py_add_legend(plt::Plot, sp::Subplot, ax)
|
|||||||
linestyle = py_linestyle(series[:seriestype], get_linestyle(series)),
|
linestyle = py_linestyle(series[:seriestype], get_linestyle(series)),
|
||||||
capstyle = "butt"
|
capstyle = "butt"
|
||||||
)
|
)
|
||||||
elseif series[:seriestype] in (:path, :straightline, :scatter, :steppre, :steppost)
|
elseif series[:seriestype] in (:path, :straightline, :scatter, :steppre, :stepmid, :steppost)
|
||||||
hasline = get_linewidth(series) > 0
|
hasline = get_linewidth(series) > 0
|
||||||
PyPlot.plt."Line2D"((0, 1),(0,0),
|
PyPlot.plt."Line2D"((0, 1),(0,0),
|
||||||
color = py_color(single_color(get_linecolor(series, clims)), get_linealpha(series)),
|
color = py_color(single_color(get_linecolor(series, clims)), get_linealpha(series)),
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user