Как мне сдвинуть текстовые метки geom вправо с помощью диаграммы с помощью ggplotly?

#r #ggplot2 #plotly

#r #ggplot2 #plotly

Вопрос:

Я хотел бы установить текст в каждом из столбцов в ggplot, и они объединяются в целом

это мой код

 set.seed(1)
gg <-
  iris[sample(300, 50), ] %>% 
  ggplot(aes(Species, Sepal.Length, label = Sepal.Length, fill = as.factor(Sepal.Width > 3)))  
  geom_col(position = "dodge2")  
  geom_text(position=position_dodge(width = .7), 
            vjust=-0.25) 
  
ggplotly(gg)
  

Ответ №1:

Возможно, я бы предложил использовать тот же стиль позиции в geom_col() и geom_text() :

 library(plotly)
library(ggplot2)
set.seed(1)
#Plot
gg <-
  iris[sample(300, 50), ] %>% 
  ggplot(aes(Species, Sepal.Length, label = Sepal.Length, fill = as.factor(Sepal.Width > 3)))  
  geom_col(position = position_dodge2(0.9))  
  geom_text(position=position_dodge2(width = .9), 
            vjust=-0.5) 
#Transform
ggplotly(gg)
  

Вывод:

введите описание изображения здесь

Попробуйте это с общими данными, вам нужно отформатировать дату, чтобы избежать меток:

 library(dplyr)
library(ggplot2)
library(plotly)
#Code
gg <- df %>% 
  mutate(first_month=factor(format(first_month,'%b-%m'),
                            levels = unique(format(first_month,'%b-%m')),
                            ordered = T)) %>%
  ggplot(aes(x=first_month, y=customers,
             label = customers, fill = plan_id,group=plan_id))  
  geom_bar(stat='identity',position = 'dodge') 
  geom_text(aes(group=plan_id),position = position_dodge(0.9),vjust = -0.5)
#Plot 2
ggplotly(gg)
  

Вывод:

введите описание изображения здесь

Комментарии:

1. @Cauder Попробуйте перезапустить R и загрузить только ggplot2 и plotly . Также сначала протестируйте созданные вами данные dumy!

2. @Cauder Там должны быть данные, можете ли вы поделиться их примером dput() ?

3. @Cauder Проверка сейчас!

4. @Cauder Я добавил обновление, надеясь, что это поможет вам!

5. Почему значение первого месяца должно быть фактором? Это интересно