Получение графика с накоплением площадей в R

Вот сообщение в блоге , который объясняет самый быстрый способ повысить целые числа до целочисленных полномочий. Как один из комментариев указывает, некоторые из этих приемов встроены в микросхемы.

21
задан Community 23 May 2017 в 11:47
поделиться

3 ответа

Для этого вы можете использовать пакет ggplot2 от Хэдли Уикхем.

R> library(ggplot2)

Пример набора данных:

R> d <- data.frame(t=rep(0:23,each=4),var=rep(LETTERS[1:4],4),val=round(runif(4*24,0,50)))
R> head(d,10)
   t var val
1  0   A   1
2  0   B  45
3  0   C   6
4  0   D  14
5  1   A  35
6  1   B  21
7  1   C  13
8  1   D  22
9  2   A  20
10 2   B  44

А затем вы можете использовать ggplot с geom_area:

R> ggplot(d, aes(x=t,y=val,group=var,fill=var)) + geom_area(position="fill")

enter image description here

28
ответ дан 29 November 2019 в 20:59
поделиться

Вы можете использовать stackpoly из пакета plotrix:

library(plotrix)
#create proportions table
pdat <- prop.table(xtabs(Prop2~Hour+Category,Dat),margin=1)
#draw chart
stackpoly(pdat,stack=T,xaxlab=rownames(pdat))
#add legend
legend(1,colnames(pdat),bg="#ffffff55",fill=rainbow(dim(pdat)[2]))
9
ответ дан 29 November 2019 в 20:59
поделиться

Если вы хотите убрать границы, вы можете использовать scale_x_discrete и ordin_cartesian таким образом

 p <- ggplot(d, aes(x=Date,y=Volume,group=Platform,fill=Platform)) + geom_area(position="fill")
 base_size <- 9
 p + theme_set(theme_bw(base_size=9)) + scale_x_discrete(expand = c(0, 0)) +  coord_cartesian(ylim=c(0,1))
-2
ответ дан 29 November 2019 в 20:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: