簡體   English   中英

R:使用 ggplot2 在圓形條形圖上添加箭頭

[英]R: Add a arrow on a circular barplot with ggplot2

我正在嘗試使用 ggplot2 制作物候圖,目前看起來像這樣: Circular barplot

現在我想添加一個表示平均角度的箭頭(“o = 角度”和“r = 幅度”),如下圖所示Dahua-Machoa 等人,2018 年,第 70 頁)。 我找到了一種方法來使用 geom_vline() 和線性插值來添加一條線,以正確的角度繪制它,但我找不到一種方法來修改它的長度並給它一個類似箭頭的形式。

可以用 ggplot2 來做嗎?

提前致謝。

這是我的代碼。

   Mes<-c("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov"
      , "Dec")
mess<-(seq(1,12,1))
FlbudBr<-c(0,12,25,44,32,5,12,1,4,56,11,10)
dg<-c(15, 45,75,105,135,165,195,225,255,285,315,345)
data<-data.frame(Mes,mess,FlbudBr,dg)
library(NISTunits)
data$cos<-cos(NISTdegTOradian(data$dg))
data$sin<-sin(NISTdegTOradian(data$dg))
x<-sum(data$FlbudBr*data$cos)/sum(data$FlbudBr)
y<-sum(data$FlbudBr*data$sin)/sum(data$FlbudBr)
r<-sqrt((x)^2+(y)^2)
o<-180-NISTradianTOdeg(acos(x/r))

library(ggplot2)
library(ggthemes)


ggplot(data, aes(mess, FlbudBr)) +
  coord_polar() +
  geom_bar(stat = "identity", fill = "#F8C471", color ="black", width = 0.8) +
  scale_x_continuous(breaks = 1:12, labels = data$Mes, expand = c(.007,0)) +
  geom_hline(yintercept = seq(0, 15, by = 5), color = "gray90", alpha= 0.4) +
  geom_vline(xintercept= ((139.57-135)/(150-135)*(5.5-5)+5))+
  ylab("Fl bud Br")+
  theme_bw()+
  theme(panel.grid.minor = element_blank(), axis.title.x = element_blank(), 
        panel.border = element_blank())

使用annotate 使用yend指定行長度。 arrow = arrow()將添加箭頭。

p <- ggplot(data, aes(mess, FlbudBr)) +
  coord_polar() +
  geom_bar(stat = "identity", fill = "#F8C471", color ="black", width = 0.8) +
  scale_x_continuous(breaks = 1:12, labels = data$Mes, expand = c(.007,0)) +
  geom_hline(yintercept = seq(0, 15, by = 5), color = "gray90", alpha= 0.4) +
  ylab("Fl bud Br")+
  theme_bw()+
  theme(panel.grid.minor = element_blank(), axis.title.x = element_blank(), 
        panel.border = element_blank())
arrow_x <- ((139.57-135)/(150-135)*(5.5-5)+5)

p + annotate(
  "segment",
  x = arrow_x,
  xend = arrow_x, 
  y = 0,
  yend = 25,
  colour = "red",
  size = 1,
  arrow = arrow()
)

陰謀

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM