Ваш код должен работать и отображать текст над полосами, но я не знаю, как выглядит ваш исходный набор данных.Если для каждой эмоции существует несколько значений, то в одном столбце будет больше значений.Затем вы можете сгруппировать по эмоциям и суммировать значения и просто отобразить эту сумму.
Я включил для вас 2 примера: первый показывает текст внутри столбцов, а второй - над столбцами:
library(plotly)
## Data
emo_sum <- data.frame(
emotion=sample(c("anger", "joy", "fear", "anticipation", "disgust", "sadness"), 6, F),
count=trunc(runif(6,0,100))
)
## Plot text inside Bar
plot_ly(emo_sum, x=~emotion, y=~count, type="bar", color=~emotion,
text = ~count, textposition = 'auto', insidetextfont = list(size=20, color = 'black')) %>%
layout(xaxis=list(title=""), showlegend=FALSE,
title="Testing plot_ly")
## Plot text above Bar
plot_ly(emo_sum, x=~emotion, y=~count, type="bar", color=~emotion) %>%
add_text(text=~count, hoverinfo='none', textposition = 'top', showlegend = FALSE,
textfont=list(size=20, color="black")) %>%
layout(xaxis=list(title=""), showlegend=FALSE,
title="Testing plot_ly")