Skip to content

Commit

Permalink
UnicodePlots: support markers (#3845)
Browse files Browse the repository at this point in the history
  • Loading branch information
t-bltg authored Sep 25, 2021
1 parent 8d95333 commit 032c5d1
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 4 deletions.
29 changes: 28 additions & 1 deletion src/backends.jl
Original file line number Diff line number Diff line change
Expand Up @@ -943,7 +943,34 @@ const _unicodeplots_seriestype = [
:spy,
]
const _unicodeplots_style = [:auto, :solid]
const _unicodeplots_marker = [:none, :auto, :circle]
const _unicodeplots_marker = [
:none,
:auto,
:pixel,
# vvvvvvvvvv shapes
:circle,
:rect,
:star5,
:diamond,
:hexagon,
:cross,
:xcross,
:utriangle,
:dtriangle,
:rtriangle,
:ltriangle,
:pentagon,
# :heptagon,
# :octagon,
:star4,
:star6,
# :star7,
:star8,
:vline,
:hline,
:+,
:x,
]
const _unicodeplots_scale = [:identity, :ln, :log2, :log10]

# Additional constants
Expand Down
5 changes: 4 additions & 1 deletion src/backends/unicodeplots.jl
Original file line number Diff line number Diff line change
Expand Up @@ -115,11 +115,14 @@ function addUnicodeSeries!(
return UnicodePlots.spy(series[:z].surf; kw...)
end

series_kw = (;)

# now use the ! functions to add to the plot
if st in (:path, :straightline, :shape)
func = UnicodePlots.lineplot!
elseif st == :scatter || series[:markershape] != :none
func = UnicodePlots.scatterplot!
series_kw = (; marker=series[:markershape])
else
error("Series type $st not supported by UnicodePlots")
end
Expand All @@ -129,7 +132,7 @@ function addUnicodeSeries!(
for (n, segment) in enumerate(series_segments(series, st; check = true))
i, rng = segment.attr_index, segment.range
lc = get_linecolor(series, i)
up = func(up, x[rng], y[rng]; color = up_color(lc), name = n == 1 ? label : "")
up = func(up, x[rng], y[rng]; color = up_color(lc), name = n == 1 ? label : "", series_kw...)
end

for (xi, yi, str, fnt) in EachAnn(series[:series_annotations], x, y)
Expand Down
2 changes: 0 additions & 2 deletions src/examples.jl
Original file line number Diff line number Diff line change
Expand Up @@ -1255,7 +1255,6 @@ _backend_skips = Dict(
:unicodeplots => [
5, # limits issue
6, # embedded images unsupported
13, # markers unsupported
16, # nested layout unsupported
21, # custom markers unsupported
22, # contours unsupported
Expand All @@ -1269,7 +1268,6 @@ _backend_skips = Dict(
43, # heatmap with DateTime
45, # error bars
47, # mesh3D unsupported
48, # markershapes unsupported
49, # polar heatmap
50, # 3D surface unsupported
51, # embedded images unsupported
Expand Down

0 comments on commit 032c5d1

Please sign in to comment.