0
votes

I have this code. Basically, when mousing over the ggplotly plot in the value=50, I have two labels overlapping each other so basically I cannot see the West label, only the South.

How can I prevent that from happening? What am I doing wrong? I would like to see both labels separated when mousing over.

library(ggplot2)
library(ggplotly)

data <- data.frame(
  name=c( "A"  ),
  value=c( 30,40,50,50),
  location=c("North","East", "West","South")
)

pxp<- ggplot(data, aes(x=name, y=value, text=location)) + geom_boxplot() +geom_point() +
  theme_bw() + theme(panel.border = element_blank(), panel.grid.major = element_blank(),
                     panel.grid.minor = element_blank(), axis.line = element_line(colour = "black"))+
  labs(y="Value")
ggplotly(pxp)

enter image description here Thank you,

1

1 Answers

1
votes

You can use jitter and give appropriate width and height to see the points separately. Then it displays the appropriate values when you hover. Try this

pxp<- ggplot(data, aes(x=name, y=value, text=location)) + geom_boxplot() + # geom_point(position=jitter, width=0.1) +
  geom_jitter(alpha=0.6, width=0.02, height=0.1)+
  theme_bw() + theme(panel.border = element_blank(), panel.grid.major = element_blank(),
                     panel.grid.minor = element_blank(), axis.line = element_line(colour = "black"))+
  labs(y="Value")
ggplotly(pxp)

output