Как свернуть график в один бар? - PullRequest
0 голосов
/ 25 июня 2019

Я хочу получить кумулятивную диаграмму в процентах, которая суммируется до 100%. Я выяснил, как получить частоты в процентах на графике, но мне нужно свернуть график в один столбец. Мы ценим любую помощь, которую вы можете оказать в базе R.

barplot(prop.table(table(log$log1)), beside=FALSE, horiz = TRUE)

Я хочу, чтобы на графике был только один столбец, добавляющий к 100%. На данный момент у меня 4 бара. Смотрите изображение ниже: enter image description here

Я хочу что-то вроде графика ниже, но только с одной горизонтальной полосой. Я могу сам определить цветную часть, но не то, как свернуть 4 столбца (на картинке выше) в один.

enter image description here

Ответы [ 2 ]

0 голосов
/ 25 июня 2019

Если бы вы могли предоставить некоторые данные для справки, это было бы полезно.

Я думаю, что-то вроде это , что вы хотите:

Вот код:

#Create data Randon data
set.seed(1124)
data=matrix(sample(1:30,4) , nrow=4)
colnames(data)=c("Values")
rownames(data)=c("2","3","3.5","4")

#create color palette:
library(RColorBrewer)
coul = brewer.pal(4, "Pastel2") 

#Transform this data in %
data_percentage=apply(data, 2, function(x){x/sum(x,na.rm=T)})

# Make a stacked barplot
barplot(data_percentage, col=coul , 
    horiz = TRUE, border="white", xlab="group",
    legend.text = row.names(data_percentage))    

stackbar

0 голосов
/ 25 июня 2019

Если у вас есть фрейм данных:

df <- data.frame(c(75, 7, 5, 13), c("u", "v", "x", "z"), c("x", "x", "x", "x"))
names(df) <- c("Value", "Name", "xvar")

ggplot(df, aes(x = xvar, y = Value, fill = Name, label = Value)) +
  geom_bar(stat = "identity") +
  geom_text(position = position_stack(vjust = 0.5)) + 
  theme(axis.title.x=element_blank(), axis.text.x=element_blank(),  
        axis.ticks.x=element_blank())

Stacked barplot

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...