我有一个像这样的data.frame:
df <- read.csv(text = "ONE,TWO,THREE
23,234,324
34,534,12
56,324,124
34,234,124
123,534,654")
Run Code Online (Sandbox Code Playgroud)
我想生成一个百分比条形图,看起来像这样(在LibreOffice Calc中制作):

因此,条形应该标准化,因此所有堆叠具有相同的高度并且总和为100%.到目前为止,我所能获得的是一个堆积的条形图(不是百分比),使用:
barplot(as.matrix(df))
Run Code Online (Sandbox Code Playgroud)
有帮助吗?
我正在尝试生成条形图,其条形宽度由整数变量(样本大小)确定.添加"width = variableName"似乎不起作用.有没有确定的方法这样做?这是一些虚拟数据和代码.我想在这个例子中条形宽度是变量d的函数.
dat <- data.frame(a=c("A", "B", "C"), b=c(0.71, 0.94, 0.85), d=c(32, 99, 18))
ggplot(dat, aes(x=a, y=b, fill=a)) +
geom_bar(colour="black", size=.3) +
theme_bw()
Run Code Online (Sandbox Code Playgroud)