Skip to content

Label dictionaries #5178

Closed
Closed
@teunbrand

Description

@teunbrand

I recently saw this tweet, which I thought was a nice suggestion, because it allows you to reuse labels without falling victims to typos and such. It still required a lot of manual management though.

Then, I realised we have several related issues/feature requests already, for example #4631 or #4313. However, I think having a label dictionary is perhaps a more elegant approach than hardcoding a path to retrieve labels from attributes (see also #4631 (comment)).

For the vanilla case, I think it should work something like this:

library(ggplot2)

label_dictionary <- c(
  displ = "Engine displacement [L]",
  hwy   = "Highway miles per gallon",
  "factor(cyl)" = "Number of cylinders" # Maybe I should be able to omit the function call?
)

# What I would like to specify
ggplot(mpg, aes(displ, hwy, colour = factor(cyl))) +
  geom_point() +
  labs(dict = label_dictionary)

# What I would want it to look like
ggplot(mpg, aes(displ, hwy, colour = factor(cyl))) +
  geom_point() +
  labs(!!!setNames(label_dictionary, c("x", "y", "colour")))

Created on 2023-02-05 with reprex v2.0.2

However, for the {Hmisc/tinylabels/labelled/sjlabelled} cases, we might be able to specify dict = derive() (or similar) to specifically instruct to lookup label names in the data.

Metadata

Metadata

Assignees

No one assigned

    Labels

    featurea feature request or enhancement

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions