Skip to content

Empty plot flag for ab/h/v-line #647

Description

@zeileis

When I want to add ab/h/v-lines in histograms I can do something like:

tinyplot(~ body_mass, data = penguins, type = "histogram")
tinyplot_add(type = type_vline(4500), lwd = 2, col = 2)
Image

However, when I use the two-sided formula body_mass ~ 1 instead of the one-sided ~ body_mass, then I get the automatic dispatch to the histogram but the ab/h/v-line is ignored:

tinyplot(body_mass ~ 1, data = penguins)
tinyplot_add(type = type_vline(4500), lwd = 2, col = 2) ## ignored

The reason seems to be that tinyplot.default() infers the display to be an empty_plot in this code:

https://github.com/grantmcdermott/tinyplot/blob/main/R/tinyplot.R#L1501-L1505

Because "histogram" is explicitly exempt in the empty_plot rule, the histogram works. But the ab/h/v-lines are not drawn at all.

I guess we could (or should?) explicitly exempt ab/h/v-line as well? But maybe the empty_plot should also correctly catch y ~ 1 displays in general?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions