ggplot2 包{#ggplot2}

直方图{#histogram}

以数据diamonds为例进行作图。

library(ggplot2)

head(diamonds)

普通直方图{#ordinary}

ggplot(diamonds, aes(price, fill=factor(cut))) + 
  geom_histogram(binwidth=5000, colour="white")

对上面的图像利用几个参数进行调节(平时不常用但是有用的参数):

ggplot(diamonds, aes(price, fill=factor(cut))) + 
  geom_histogram(binwidth=5000, colour="white", boundary=5000, show.legend=FALSE)

添加计数{#count}

ggplot(diamonds, aes(price, fill=factor(cut))) +
    geom_histogram(colour="white", binwidth=5000, boundary=5000, closed="right") +
    stat_bin(geom="text", binwidth=5000, boundary=5000, aes(y=..count.., label=..count..), vjust=1) +  
    scale_fill_discrete("cut")

添加百分比{#percentage}

library(scales)

ggplot(diamonds, aes(price, fill=factor(cut))) +
    geom_histogram(aes(y=..count../sum(..count..)), colour="white", binwidth=5000, boundary=5000) +
    scale_y_continuous(labels=percent) + 
    stat_bin(geom="text", binwidth=5000, boundary=5000, aes(y=..count../sum(..count..), label=percent(..count../sum(..count..))), vjust=1) +
    scale_fill_discrete("cut")

注意fill=factor(cut)放置的位置,放在ggplot()里面,就说明后面每一个图层都会用到,如果只是放在其中一个geom_ 中,则只有当前图层使用。

ggplot(diamonds, aes(price)) +
    geom_histogram(aes(fill=factor(cut)), colour="white", binwidth=5000, boundary=5000, closed="right") +
    stat_bin(geom="text", binwidth=5000, boundary=5000, aes(y=..count.., label=..count..), vjust=-0.5) +  
    scale_fill_discrete("cut")
library(scales)

ggplot(diamonds, aes(price)) +
    geom_histogram(aes(fill=factor(cut), y=..count../sum(..count..)), colour="white", binwidth=5000, boundary=5000) +
    scale_y_continuous(labels=percent) + 
    stat_bin(geom="text", binwidth=5000, boundary=5000, aes(y=..count../sum(..count..), label=percent(..count../sum(..count..))), vjust=-0.5) +
    scale_fill_discrete("cut")


shaocf/Graphics documentation built on Nov. 5, 2019, 8:51 a.m.