如何为R中的堆积条形图添加颜色?

时间:2018-04-28 21:02:05

标签: r ggplot2 graph

我正在尝试在R中创建堆积条形图。我需要条形图来显示三件事:

  • Y轴=计数
  • X轴条=通过驾驶考试(是或否)
  • X轴条内的颜色拥有汽车(是或否)

所以我想要的输出是: Desired Output

但是,我的实际输出是:

Actual output

到目前为止我的代码是:

carData <- read.csv(file="~/Desktop/carData.csv",head=TRUE,sep=";")
ggplot(carData, aes(x =  passed.test, fill =  owns.car)) + geom_bar() 

CSV文件中的passed.test值为1或0.(1 =已通过,0 =未通过)

CSV文件中的owns.car值为1或0.(1 =拥有汽车,0 =不拥有汽车)

我如何:

一个。向条形图添加颜色以显示第二个变量(拥有汽车=是或否)

B中。将X轴更改为“是”和“否”,而不是-0.5 -1.5

1 个答案:

答案 0 :(得分:2)

您希望将这两列列为因子。否则,假设数值是连续的,因此当geom_bar计算每个值的观察值时,它对于owns.car的连续水平没有多大意义。

library(tidyverse)

set.seed(1234)
carData <- tibble(
    passed.test = sample(c(0, 1), 100, replace = T),
    owns.car = sample(c(0, 1), 100, replace = T)
)

cars_factors <- mutate_all(carData, as.factor)

ggplot(cars_factors, aes(x = passed.test, fill = owns.car)) +
    geom_bar() +
    scale_x_discrete(labels = c("No", "Yes")) +
    scale_fill_discrete(labels = c("No", "Yes"))

reprex package(v0.2.0)创建于2018-04-28。