ggplotly с длинными именами в ярлыках - PullRequest
2 голосов
/ 02 мая 2020

У меня есть данные с длинными именами, которые я хотел бы построить с помощью функции ggplotly.

Это мой код:

library(ggplot2)
library(plotly)
temp<-data.frame(x=c("longgggggggggggggggggggggggg_nameeeeeeeeeeeeeee1","longggggggggggggggggggggggggg_nameeeeeeeeeeeeeee2"),
                 y=c(5,10))

break_str<-function(str,n){
  if(nchar(str)<=n)
    return(str)
  ans<-""
  for(i in 1:ceiling(nchar(str)/n)){
    if(i<ceiling(nchar(str)/n)){
      ans<-paste0(ans,substr(str,start=((i-1)*n+1),stop=min(i*n,nchar(str))),"\n")
    } else{
      ans<-paste0(ans,substr(str,start=((i-1)*n+1),stop=min(i*n,nchar(str))))
    }
  }
  return(ans)
}

p <- ggplot(temp, aes(x=x, y=y)) +  
  labs(x="x",y="y") + geom_bar(stat="identity") +  coord_flip() +
  scale_x_discrete(labels = function(x) lapply(x,function(str){break_str(str,10)})) 

ggplotly(p)

Как вы можете видеть, я использовал функцию break_str, которая работает аналогично str_wrap, но все равно не удаляет поля на графике.

Эта проблема не отображается при печати p без ggplotly

Любая помощь будет оценена

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...