Проблемы с вертикальным масштабированием в диаграммах областей с накоплением с использованием geom_area в ggplot2

#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. Да, это устраняет проблему. Спасибо за помощь и понимание!