Using example and answer from this SO post:
library(ggplot2) # ggplot2_2.2.1
# data
df1 <- data.frame(a = c("sensor 1","sensor 2","sensor 3","sensor 4",
"sensor very very long text 5",
"sensor 6","sensor 7","sensor 8"),
b = c(50, 60, 70, 20, 90, 110, 30, 100))
# basic polar bar plot
gg1 <- ggplot(df1, aes(x = a, y = b, fill = a)) +
geom_bar(width = 1, stat="identity") +
coord_polar()
# Accepted answer, it is rotating not curving
# set the angles for each text
myAng <- seq(-20, -340, length.out = 8)
# then update theme with angle
gg1 +
theme(axis.text.x = element_text(size = 12, angle = myAng))
Accepted answer just rotates the text, if the text is short then rotation would be enough, but with long text it could be better to curve, possible?