我想想象数量的比例,如:
Four values are votes for great/good/moderate/bad
data1 <- c(4, 6, 0, 1)
data2 <- c(2, 0, 1, 15)
使用R作为堆积的水平条形图,其中两个条形data1
和data2
中的每一条都是图表的整个宽度,而大/好/中/差是不同的颜色/图案,如:< / p>
XXXXXXXXOOOOOOOOOOOO%%
XX*%%%%%%%%%%%%%%%%%%%
我在R中使用了很多其他图表(除了自动化,使用它的另一个原因!),但我无法掌握如何做到这一点。
答案 0 :(得分:2)
答案 1 :(得分:2)
这是一个ggplot2
答案:
library(ggplot2)
data1 <- c(4, 6, 0, 1)
data2 <- c(2, 0, 1, 15)
MyData <- data.frame(DataSource= c(rep("data1",4),rep("data2",4)),
quality=rep(c("great","good","moderate","bad"),2),
Value=c(data1/sum(data1),data2/sum(data2)))
ggplot(data=MyData,aes(DataSource,Value,fill=quality))+geom_col()
答案 2 :(得分:1)
我希望这可以指出你正确的方向:
data1 <- c(4, 6, 0, 1)
data2 <- c(2, 0, 1, 15)
data3 <- c("great","good","moderate","bad")
df <- data.frame(group1 = data1,group2 = data2, class = data3)
library(reshape2)
library(dplyr)
library(ggplot2)
df<- melt(df,"class")
df <- df %>% group_by(variable) %>% mutate(perc = value/sum(value))
ggplot(df, aes(x = variable, y = perc,fill=class)) +
geom_bar(stat='identity') + coord_flip()