#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. Почему значение первого месяца должно быть фактором? Это интересно