Я новичок в R и пытаюсь построить 3 гистограммы на одном графике. Все работало нормально, но моя проблема в том, что вы не видите, где перекрываются две гистограммы - они выглядят довольно обрезанными.
Когда я делаю графики плотности, это выглядит идеально: каждая кривая окружена черной рамкой, и цвета выглядят по-разному там, где кривые перекрываются.
Может ли кто-нибудь сказать мне, можно ли добиться чего-то подобного с гистограммами на первом изображении? Это код, который я использую:
lowf0 <-read.csv (....)
mediumf0 <-read.csv (....)
highf0 <-read.csv(....)
lowf0$utt<-'low f0'
mediumf0$utt<-'medium f0'
highf0$utt<-'high f0'
histogram<-rbind(lowf0,mediumf0,highf0)
ggplot(histogram, aes(f0, fill = utt)) + geom_histogram(alpha = 0.2)
Ответы:
Ваш текущий код:
сообщает, что
ggplot
нужно построить одну гистограмму, используя все значения,f0
а затем раскрасить столбцы этой отдельной гистограммы в соответствии с переменнойutt
.Вместо этого вы хотите создать три отдельные гистограммы с альфа-смешиванием, чтобы они были видны друг через друга. Поэтому вы, вероятно, захотите использовать три отдельных вызова
geom_histogram
, каждый из которых получает свой собственный фрейм данных и заполняет:Вот конкретный пример с некоторыми выводами:
что производит что-то вроде этого:
Отредактировано для исправления опечаток; вам нужна заливка, а не цвет.
источник
scale_fill_manual()
.Используя образцы данных @joran,
обратите внимание, что позиция по умолчанию
geom_histogram
- «стек».см. «регулировку положения» на этой странице:
docs.ggplot2.org/current/geom_histogram.html
источник
position = 'identity'
это не просто более читаемый ответ, он лучше подходит для более сложных графиков, таких как смешанные вызовыaes()
иaes_string()
.scale_fill_manual()
. Эту функцию также можно использовать для изменения цветов гистограмм.fill
является фактором.Хотя для построения нескольких / перекрывающихся гистограмм в ggplot2 требуется всего несколько строк, результаты не всегда удовлетворительны. Необходимо правильно использовать границы и цвет, чтобы глаз мог различать гистограммы .
Следующие функции уравновешивают цвета границ, непрозрачность и наложенные графики плотности, чтобы позволить зрителю различать распределения .
Одиночная гистограмма :
Множественная гистограмма :
Использование :
Просто передайте свой фрейм данных в указанные выше функции вместе с желаемыми аргументами:
Дополнительный параметр в plot_multi_histogram этого имя столбца , содержащих метки категорий.
Мы можем увидеть это более наглядно, создав фрейм данных с множеством различных средств распространения :
Передача фрейма данных, как и раньше (и расширение диаграммы с помощью параметров):
источник