add :mesh3d
This commit is contained in:
parent
8cdef406e0
commit
a29ed28a0e
@ -948,7 +948,7 @@ const _unicodeplots_seriestype = [
|
|||||||
:spy,
|
:spy,
|
||||||
:surface,
|
:surface,
|
||||||
:wireframe,
|
:wireframe,
|
||||||
# :mesh3d,
|
:mesh3d,
|
||||||
]
|
]
|
||||||
const _unicodeplots_style = [:auto, :solid]
|
const _unicodeplots_style = [:auto, :solid]
|
||||||
const _unicodeplots_marker = [
|
const _unicodeplots_marker = [
|
||||||
|
|||||||
@ -90,8 +90,10 @@ function unicodeplots_rebuild(plt::Plot{UnicodePlotsBackend})
|
|||||||
ylim = ylim,
|
ylim = ylim,
|
||||||
# 3d
|
# 3d
|
||||||
projection = plot_3d ? :orthographic : nothing,
|
projection = plot_3d ? :orthographic : nothing,
|
||||||
azimuth = -50,
|
|
||||||
up = sp[:zaxis][:flip] ? :mz : :pz,
|
up = sp[:zaxis][:flip] ? :mz : :pz,
|
||||||
|
# PyPlot: azimuth = -60 & elevation = 30
|
||||||
|
azimuth = -45,
|
||||||
|
elevation = 30,
|
||||||
)
|
)
|
||||||
|
|
||||||
o = UnicodePlots.Plot(x, y, plot_3d ? z : nothing, _canvas_map[canvas]; kw...)
|
o = UnicodePlots.Plot(x, y, plot_3d ? z : nothing, _canvas_map[canvas]; kw...)
|
||||||
@ -173,20 +175,25 @@ function addUnicodeSeries!(
|
|||||||
elseif st === :heatmap
|
elseif st === :heatmap
|
||||||
return UnicodePlots.heatmap(Array(series[:z]); fix_ar = fix_ar, kw...)
|
return UnicodePlots.heatmap(Array(series[:z]); fix_ar = fix_ar, kw...)
|
||||||
end
|
end
|
||||||
elseif st in (:wireframe, :surface) # 3D
|
elseif st in (:surface, :wireframe) # 3D
|
||||||
colormap = get(series[:extra_kwargs], :colormap, :none)
|
colormap = get(series[:extra_kwargs], :colormap, :none)
|
||||||
kw = (
|
kw = (
|
||||||
kw...,
|
kw...,
|
||||||
zlabel = sp[:colorbar_title],
|
zlabel = sp[:colorbar_title],
|
||||||
colormap = colormap === :none ? up_cmap(series) : colormap,
|
colormap = colormap === :none ? up_cmap(series) : colormap,
|
||||||
colorbar = hascolorbar(sp),
|
colorbar = hascolorbar(sp),
|
||||||
color = st === :wireframe ? up_color(get_linecolor(series, 1)) : nothing
|
color = st === :wireframe ? up_color(get_linecolor(series, 1)) : nothing,
|
||||||
|
lines = st === :wireframe,
|
||||||
)
|
)
|
||||||
return UnicodePlots.surfaceplot(x, y, Array(series[:z]); kw...)
|
return UnicodePlots.surfaceplot(x, y, Array(series[:z]); kw...)
|
||||||
|
elseif st === :mesh3d
|
||||||
|
return UnicodePlots.lineplot!(
|
||||||
|
up, mesh3d_triangles(x, y, series[:z], series[:connections])...
|
||||||
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
# now use the ! functions to add to the plot
|
# now use the ! functions to add to the plot
|
||||||
if st in (:path, :path3d, :straightline, :shape)
|
if st in (:path, :path3d, :straightline, :shape, :mesh3d)
|
||||||
func = UnicodePlots.lineplot!
|
func = UnicodePlots.lineplot!
|
||||||
series_kw = (; head_tail = series[:arrow] isa Arrow ? series[:arrow].side : nothing)
|
series_kw = (; head_tail = series[:arrow] isa Arrow ? series[:arrow].side : nothing)
|
||||||
elseif st in (:scatter, :scatter3d) || series[:markershape] !== :none
|
elseif st in (:scatter, :scatter3d) || series[:markershape] !== :none
|
||||||
|
|||||||
@ -1310,7 +1310,6 @@ _backend_skips = Dict(
|
|||||||
37, # ribbons / filled unsupported
|
37, # ribbons / filled unsupported
|
||||||
43, # heatmap with DateTime
|
43, # heatmap with DateTime
|
||||||
45, # error bars
|
45, # error bars
|
||||||
47, # mesh3D unsupported
|
|
||||||
49, # polar heatmap
|
49, # polar heatmap
|
||||||
51, # embedded images unsupported
|
51, # embedded images unsupported
|
||||||
55, # mirror unsupported, resolution too low
|
55, # mirror unsupported, resolution too low
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user