Check if plot title already exists before adding again

This commit is contained in:
Pearl Li 2022-01-10 15:52:43 -08:00
parent 1014b8f494
commit b30286b1db

View File

@ -277,26 +277,35 @@ end
function _add_plot_title!(plt) function _add_plot_title!(plt)
plot_title = plt[:plot_title] plot_title = plt[:plot_title]
if plot_title != "" if plot_title != ""
the_layout = plt.layout # make new subplot for plot title
vspan = plt[:plot_titlevspan] if plt[:plot_titleindex] == 0
plt.layout = grid(2, 1, heights = (vspan, 1 - vspan)) the_layout = plt.layout
plt.layout.grid[1, 1] = subplot = Subplot(plt.backend, parent = plt.layout[1, 1]) vspan = plt[:plot_titlevspan]
plt.layout.grid[2, 1] = the_layout plt.layout = grid(2, 1, heights = (vspan, 1 - vspan))
subplot.plt = plt plt.layout.grid[1, 1] = subplot = Subplot(plt.backend, parent = plt.layout[1, 1])
plt.layout.grid[2, 1] = the_layout
subplot.plt = plt
top = plt.backend isa PyPlotBackend ? nothing : 0mm
bot = 0mm
plt[:force_minpad] = nothing, top, nothing, bot
subplot[:subplot_index] = last(plt.subplots)[:subplot_index] + 1
plt[:plot_titleindex] = subplot[:subplot_index]
subplot[:framestyle] = :none
subplot[:margin] = 0px
push!(plt.subplots, subplot)
end
# propagate arguments plt[:plot_titleXXX] --> subplot[:titleXXX] # propagate arguments plt[:plot_titleXXX] --> subplot[:titleXXX]
plot_titleindex = plt[:plot_titleindex]
subplot = plt.subplots[plot_titleindex]
for sym in filter(x -> startswith(string(x), "plot_title"), keys(_plot_defaults)) for sym in filter(x -> startswith(string(x), "plot_title"), keys(_plot_defaults))
subplot[Symbol(string(sym)[(length("plot_") + 1):end])] = plt[sym] subplot[Symbol(string(sym)[(length("plot_") + 1):end])] = plt[sym]
end end
top = plt.backend isa PyPlotBackend ? nothing : 0mm
bot = 0mm
plt[:force_minpad] = nothing, top, nothing, bot
subplot[:subplot_index] = last(plt.subplots)[:subplot_index] + 1
plt[:plot_titleindex] = subplot[:subplot_index]
subplot[:framestyle] = :none
subplot[:margin] = 0px
push!(plt.subplots, subplot)
end end
return nothing return nothing
end end