R 使用ggplot2使用偏移基线制作条形图

R 使用ggplot2使用偏移基线制作条形图,r,ggplot2,bar-chart,geom-col,R,Ggplot2,Bar Chart,Geom Col,如果我使用默认的Rgraphicspackage,那么我可以使用交错基线绘制图 下面是一个使用CPTtools包的示例(可在github上获得) 两个可能的参考资料:|第一个向我展示了如何移动所有基线,而不是针对每个条单独移动。第二,使用goem_纵横杆制作图形似乎比坚持使用BaseR图形的当前解决方案要多。 library(devtools) install_github("ralmond/CPTtools") library(CPTtools) margins <

如果我使用默认的R
graphics
package,那么我可以使用交错基线绘制图

下面是一个使用CPTtools包的示例(可在github上获得)


两个可能的参考资料:|第一个向我展示了如何移动所有基线,而不是针对每个条单独移动。第二,使用goem_纵横杆制作图形似乎比坚持使用BaseR图形的当前解决方案要多。
library(devtools)
install_github("ralmond/CPTtools")
library(CPTtools)

margins <- data.frame (
     Trouble=c(Novice=.19,Semester1=.24,Semester2=.28,Semseter3=.20,Semester4=.09),
     NDK=c(Novice=.01,Semester1=.09,Semester2=.35,Semseter3=.41,Semester4=.14),
     Model=c(Novice=.19,Semester1=.28,Semester2=.31,Semseter3=.18,Semester4=.04)
    )
margins <- as.matrix(margins)
baseline <- apply(margins[1:2,],2,sum)
     
stackedBarplot(margins,offset=-baseline,
                 main="Marginal Distributions for NetPASS skills",
                 sub="Baseline at 2nd Semester level.",
                 col=hsv(223/360,.2,0.10*(5:1)+.5))
library(tidyverse)
margins <- data.frame (
      Trouble=c(Novice=.19,Semester1=.24,Semester2=.28,Semseter3=.20,Semester4=.09),
      NDK=c(Novice=.01,Semester1=.09,Semester2=.35,Semseter3=.41,Semester4=.14),
      Model=c(Novice=.19,Semester1=.28,Semester2=.31,Semseter3=.18,Semester4=.04)
)
tibble::rownames_to_column(margins,var="Level") %>%
  tidyr::pivot_longer(-Level,
                      names_to="Attribute", values_to="probability") ->
  marg
marg %>% filter(Level=="Novice" | Level=="Semester1") %>%
  group_by(Attribute) %>% summarize(baseline=sum(probability)) ->
  bases

ggplot(marg,aes(Attribute,probability,fill=Level)) +
  geom_col(position=position_stack() +
  scale_fill_brewer(palette="Blues")