I want to create a radar chart with ggradar package. The problem is that I have long labels and they are clipped (as shown in the figure below inside two red rectangles).
library(ggplot2)
library(tidyverse)
library(ggradar)
df <- structure(list(date = c("2022-1-31", "2022-2-28"),
Item_A_Long = c(50.1, 50.2),
Item_B_Very_Very_Long = c(48.4, 49),
Another_Item_C_very_long_label = c(47.2, 48.6)),
class = "data.frame", row.names = c(NA, -2L))
df
df %>%
mutate(across(contains('Item'), ~ (.x - 45) / 10)) %>%
ggradar(values.radar = c('45', '50', '55'),
legend.position = 'bottom') +
theme(
axis.text = element_text(hjust=0.5, vjust = 1)
# margin = margin(0, 0, 2, 0, 'cm')
)
Out:
I thought I could create more space between label and plot by adding axis.text = element_text(hjust=0.5, vjust = 1)
or plot.margin = margin(0, 0, 2, 0, 'cm')
, but its not working.
Any ideas how to increase the label space are welcome (apart from making the font smaller).
Reference:
You could increase the plot.margin
and add coord_cartesian(clip = "off")
. However, this distorts the dimensions of your radar chart. I played around with the plot pane to account for that. However, I'm sure there are cleverer solutions to your problem.
df %>%
mutate(across(contains('Item'), ~ (.x - 45) / 10)) %>%
ggradar(values.radar = c('45', '50', '55'),
legend.position = 'bottom') +
theme(
axis.text = element_text(hjust=0.5, vjust = 1),
plot.margin = margin(0, 5, 0, 5, 'cm')) +
coord_cartesian(clip = "off")