Convert native cartesian axis titles to draggable annotations
Source:R/plot_axis.R
axis_titles_as_annotations.RdPlotly's native axis titles can have their text edited interactively but
cannot be dragged to a new position. Faceted figures already render their
shared x/y axis titles as paper-anchored annotations (via
build_facet_annotations()), which the plot configuration makes
both editable and draggable. This helper brings the same behaviour to
single-panel (non-faceted) figures by replacing the native x/y axis titles
with equivalent paper-anchored annotations.
Value
The plotly figure with single-panel axis titles converted to paper-anchored, draggable annotations. Returns the figure unchanged when it is faceted/split or has no axis titles.
Details
The figure is first built with plotly::plotly_build() so that titles
assigned via layout() (which are otherwise held in
layoutAttrs until build time) are consolidated into the layout. Any
pre-existing annotations (for example statistical brackets or facet labels)
are preserved, and the font already applied to each native axis title is
carried over to the corresponding annotation.
Multi-panel figures (faceting or split.by, detected by the presence
of secondary axes such as xaxis2/yaxis2) are returned
unchanged, since their shared titles are already draggable annotations.