У меня есть следующие данные:
Текст относится к повествованию, ми — это счет определенной функции, а ши — это счет другой функции. У меня они в фрейме данных следующим образом. Я не уверен, как вручную воссоздать этот фрейм данных с векторами значений, поэтому заранее извиняюсь, что это не так воспроизводимо, как могло бы быть в противном случае.
test <- as.data.frame(read_excel("plotTEST.xlsx"))
Мне нужен график, в котором ось x представляет собой каждый текст, а y показывает количество обеих функций. Я хочу аппроксимировать что-то вроде этого, как показано здесь или здесь.
Используя эти примеры, я собрал следующее:
ggplot(data=test, aes(x=text, y=mi, fill=shi)) + geom_bar(stat = "identity")
И после множества настроек и нескольких итераций это самый чистый результат, который я получил:
Градиент, кажется, используется по умолчанию, несмотря на то, что я пытался следовать коду в связанных примерах, и они не дают конкретных сведений о выборе цвета.
Это градиент, а не сдержанные цвета, как я могу получить сдержанные цвета для счетов ми и ши?
Я попробовал это решение, упомянутое здесь, но это просто приводит к другой отдельной клавише с разными цветами, и каждая полоса получает контур другого цвета.
Чтобы получить гистограмму с накоплением, вам нужны данные в длинном формате (не в широком).
Возможный дубликат Столбчатая диаграмма с накоплением
Вы можете сделать это следующим образом:
# Your data
text <- c("Swollen River", "Anaconda caught", "Chikwan speaks", "Lake explodes","Swollen River", "Anaconda caught", "Chikwan speaks", "Lake explodes")
values <- c(5,18,45,98, 0,9,33,23)
type <- c("mi","mi","mi","mi","shi","shi","shi","shi")
df <- data.frame("text"=text, "values"=values, "type"=type)
# dataframe in long format:
# text values type
# 1 Swollen River 5 mi
# 2 Anaconda caught 18 mi
# 3 Chikwan speaks 45 mi
# 4 Lake explodes 98 mi
# 5 Swollen River 0 shi
# 6 Anaconda caught 9 shi
# 7 Chikwan speaks 33 shi
# 8 Lake explodes 23 shi
# Plot
ggplot(data=df, aes(x=text, y=values, fill=type)) + geom_bar(stat = "identity")
Другими словами, вам нужны данные желательно в длинном формате, как описано здесь.
Возможный дубликат: stackoverflow.com/questions/21236229/столбчатая диаграмма с накоплением