#r #ggplot2 #geom-area
#r #ggplot2 #геометрическая область
Вопрос:
Я пытаюсь создать диаграмму областей с 4 категориями данных, используя geom_area в R. Я могу создавать линейные диаграммы для категорий с помощью geom_line(), но когда я использую geom_area для отображения заштрихованных областей, вертикальный масштаб неверен. Похоже, что он может выполнять некоторое суммирование данных. Мой код линейной диаграммы выглядит следующим образом и создает точный график с диапазоном значений от 0 до примерно 800 000 долларов:
lp3b<-ggplot(
data=myHousing,aes(x=Year,y=Home.Value,color=State)) geom_line()
lp3b
Приведенный ниже код построения области отображает график, который визуально корректен, но вертикальный масштаб изменяется от 0 примерно до 1 600 000 долларов, что определенно не является правильным диапазоном значений. Я проверил диапазон значений данных до и после построения графика, и диаграмма областей определенно имеет неправильный масштаб.
lp3c<-ggplot() geom_area(data=myHousing,
aes(x=Year,y=Home.Value,fill=State),alpha=0.5,position="stack")
lp3c
Комментарии:
1. Это укладка областей (вы даже явно определили это, но я думаю, что это также значение по умолчанию). Используйте
position = 'identity'
в качестве аргумента дляgeom_area
.2. Для некоторого объяснения здесь
position="stack"
приведено поведение по умолчанию дляgeom_area()
. Что это делает, так это принимает значения y для каждой из вещей, которые вы укладываете, и добавляет их вместе. Следовательно, то, что вы видите на оси y, является суммой всех значений y . Установка значенияposition="identity"
сделает так, чтобы положение y отображалось как значение y, а не как сумма значений y «ниже» этого.3. Да, это устраняет проблему. Спасибо за помощь и понимание!