在coord_polar上制作曲线文本

在coord_polar上制作曲线文本,r,dataframe,ggplot2,R,Dataframe,Ggplot2,我想用coord_polar在ggplot周围制作曲线文本。我有data.frame: z <- data.frame( a=c("sensor 1","sensor 2","sensor 3","sensor 4","sensor 5","sensor 6","sensor 7","sensor 8"), b=c(50, 60, 70, 20,90,110,30,100)) z我不知道如何使用ggplot2让它们像那样弯曲,但我们至少可以去掉有趣的角度 pm我不确定文本是否弯曲,但

我想用coord_polar在ggplot周围制作曲线文本。我有data.frame:

z <- data.frame( a=c("sensor 1","sensor 2","sensor 3","sensor 4","sensor 5","sensor 6","sensor 7","sensor 8"),  b=c(50, 60, 70, 20,90,110,30,100))

z我不知道如何使用
ggplot2
让它们像那样弯曲,但我们至少可以去掉有趣的角度


pm我不确定文本是否弯曲,但如果您希望它们至少旋转,这是一个开始:

myAng <-
  seq(-20,-340,length.out = 8)

cxc + coord_polar() + 
  theme_linedraw() +
  theme(axis.ticks =element_blank()
        , axis.text.y =element_blank()
        , axis.title=element_blank()
        , axis.text.x=element_text(size = 12
                                   ,angle = myAng)) 

myAng@Hack-R可能是的,但我需要制作很多情节,我认为在R中制作这个更好。无论如何,我认为这里必须是一个简单的解决方案弯曲文本。接受的解决方案是旋转。。。你真的把文字画成曲线了吗?@zx8754没有。答案是最接近的解决方案。
pm <- grid::unit(c(2, 2, 2, 2), "cm")
RadarTheme<-theme(panel.background=element_blank(),
                  plot.title= element_text(size = 25,face=c("bold","italic")),
                  plot.margin = pm,
                  text=element_text(family="Open Sans"), aspect.ratio = 1,
                  legend.position="bottom",legend.title=element_blank(),legend.direction="vertical",
                  strip.text.x = element_text(size = rel(0.8)),
                  axis.text.x = element_text(size = 15,face ="bold"),
                  axis.ticks.y = element_blank(),
                  axis.text.y = element_blank(),
                  axis.line.x=element_line(size=0.5),
                  panel.grid.major=element_line(size=0.3,linetype = 2,colour="grey"))

cxc <- ggplot(z, aes(x=a, y=b, fill=factor(b))) + 
  geom_bar(width = 1,stat="identity",colour = "black")


cxc + coord_polar() + RadarTheme
myAng <-
  seq(-20,-340,length.out = 8)

cxc + coord_polar() + 
  theme_linedraw() +
  theme(axis.ticks =element_blank()
        , axis.text.y =element_blank()
        , axis.title=element_blank()
        , axis.text.x=element_text(size = 12
                                   ,angle = myAng))