using following code, I can get labels using geom_text but they are not vertical, even after I change angle to 90.
p1 <- ggplot(segment(p)) +
geom_segment(aes(x=x,y=y,xend=xend,yend=yend),colour="blue") + labs(y = "Label y") +
theme_classic()+theme(axis.line.x=element_blank(), axis.text.x=element_blank(), axis.ticks.x=element_blank(),axis.title.x=element_blank()) +
geom_text(data=leaf_label_data, aes(x=xend, y=yend,label=label,angle = 90))