R: График сложенной области с абсолютными значениями

r plot ggplot2

1161 просмотра

3 ответа

Есть ли какой-нибудь способ в R создать график с накоплением площадей, где результат будет не пропорциями, а абсолютными значениями, то есть срезы не должны составлять до 1, но должны представлять фактические значения каждого фактора?

Автор: user702432 Источник Размещён: 28.05.2019 02:31

Ответы (3)


3 плюса

Решение

Пример использования ggplot:

library(ggplot2)
library(reshape2)

dat <- data.frame(
    x = LETTERS[1:3],
    series1 = 1:3,
    series2 = 4:6)

ggplot(melt(dat), aes(x=x, y=value, fill=variable, group=variable)) + geom_area()

введите описание изображения здесь

Автор: Andrie Размещён: 26.05.2011 10:51

0 плюса

С базовой графикой вы можете использовать apply и cumsum, чтобы получить высоту точек, если вы просто хотите, чтобы линии без заполненной области вы могли использовать функцию matplot. Если вы хотите заполнить области, то вы можете создать начальный график с type = 'n' (или используя только последний набор координат), использовать цикл (либо явный для цикла, либо применить) вместе с функцией полигона для добавить полигоны. Вы можете либо начать с верхних точек и построить полигон от 0 до точек, а более поздние полигоны покрыть основания более ранних, либо вы можете сделать полигоны между смежными наборами точек.

Как только вы сделали это один раз, вы можете заключить код в функцию и сделать будущие графики намного быстрее.

Автор: Greg Snow Размещён: 26.05.2011 07:30

0 плюса

  • Используйте, geom_area(position="fill")если вы хотите построить пропорции.
  • Используйте, geom_area(position="stack")если вы хотите построить абсолютные значения. geom_area()также будет по умолчанию для этого.
Автор: Tom Davidson Размещён: 23.05.2019 02:17
Вопросы из категории :
32x32