0

1 つの棒グラフで、1 つの棒の隣に積み上げ棒のペアを配置したいと思います。

以下に示す 12 スタックのバーはペアになっていますが、それぞれの隣に別のバーを追加して、それらを再度細分化したいと思います。軸はそのままにして、白い破線のバーを積み上げバーの横の「覆い隠す」位置に移動したいと思います。

以下にリストされているデータとコードは、R (3.0.1) と ggplot2 (0.9.3) でチャートを作成するために使用されました。「有向」実験と「無向」実験のそれぞれに 6 つの処理があります。治療ごとに条件が少し異なります(残念ながら)。1 つは「システム」(上図) で、もう 1 つは SA / SA-Sw (下図) です。

    x <- data.frame(
    ConnectType = c("Undirected","Undirected","Undirected","Undirected","Undirected","Undirected","Undirected","Undirected","Undirected","Undirected","Undirected","Undirected","Undirected","Undirected","Undirected","Undirected","Undirected","Undirected","Directed","Directed","Directed","Directed","Directed","Directed","Directed","Directed","Directed","Directed","Directed","Directed","Directed","Directed","Directed","Directed","Directed","Directed"),
System = c("Mersey","Mersey","Mersey","Mersey","Mersey","Mersey","St. Marg. Bay","St. Marg. Bay","St. Marg. Bay","St. Marg. Bay","St. Marg. Bay","St. Marg. Bay","Sheet Harbour","Sheet Harbour","Sheet Harbour","Sheet Harbour","Sheet Harbour","Sheet Harbour","Mersey","Mersey","Mersey","Mersey","Mersey","Mersey","St. Marg. Bay","St. Marg. Bay","St. Marg. Bay","St. Marg. Bay","St. Marg. Bay","St. Marg. Bay","Sheet Harbour","Sheet Harbour","Sheet Harbour","Sheet Harbour","Sheet Harbour","Sheet Harbour"),
BarType = factor(c("Dams","Culverts","Both","Dams","Culverts","Both","Dams","Culverts","Both","Dams","Culverts","Both","Dams","Culverts","Both","Dams","Culverts","Both","Dams","Culverts","Both","Dams","Culverts","Both","Dams","Culverts","Both","Dams","Culverts","Both","Dams","Culverts","Both","Dams","Culverts","Both"),
                 c("Dams","Culverts","Both")),
QuanMethod = c("SA","SA","SA","SA-Sw","SA-Sw","SA-Sw","SA","SA","SA","SA-Sw","SA-Sw","SA-Sw","SA","SA","SA","SA-Sw","SA-Sw","SA-Sw","SA","SA","SA","SA-Sw","SA-Sw","SA-Sw","SA","SA","SA","SA-Sw","SA-Sw","SA-Sw","SA","SA","SA","SA-Sw","SA-Sw","SA-Sw"),
ScaledGains = c(64.69,19.65,15.66,75.99,9.28,14.73,61.12,4.43,34.45,52.24,12.17,35.59,69.51,10.49,19.99,66.80,18.46,14.74, 93.39,0.22,6.39,90.20,0.45,9.35,81.08,0.00,18.92,77.09,0.01,22.9,87.14,2.19,10.67,88.28,2.51,9.21)
)

# ggplot2 library must be added through packages    
library(ggplot2)
library(scales)
library(grid)

# set bar colours
barcols<- c("#A9A9A9","#000000","#FFFFFF")
bordcols<- c("#A9A9A9","#000000","#000000")
linetypes1 <- c("solid","solid","dashed")

# ggplot all of it 
ggplot(x, aes(x=QuanMethod, 
          y=ScaledGains,
          fill=BarType, 
          color=BarType, 
          linetype=BarType)) +
geom_bar(stat="identity") +
facet_grid(ConnectType~System) +
scale_linetype_manual(values=linetypes1) +
scale_fill_manual(values = barcols) +
scale_color_manual(values=bordcols) +
xlab("Quantification Method") +
ylab("Percent Connectivity Gains") +
theme(legend.position = "bottom",
      legend.title =element_blank())

グラフの例 - 灰色または黒のいずれかを積み重ねる必要があります![][1]

4

1 に答える 1

1

答えは、ggplot() で「グループ」タグを使用することです。グループを定義したデータに新しい列を追加しただけです。この場合、'dams' と 'culverts' は 0 になり、'dams+culverts' は 1 になりました。列を 'group1' と呼びました。

ggplot(x, aes(x=QuanMethod, 
      y=ScaledGains,
      fill=BarType, 
      color=BarType, 
      linetype=BarType,
      group=group1)) +
geom_bar(stat="identity") +
facet_grid(ConnectType~System) +
scale_linetype_manual(values=linetypes1) +
scale_fill_manual(values = barcols) +
scale_color_manual(values=bordcols) +
xlab("Quantification Method") +
ylab("Percent Connectivity Gains") +
theme(legend.position = "bottom",
legend.title =element_blank())
于 2013-10-22T13:52:36.900 に答える