以数据diamonds为例进行作图。
library(ggplot2) head(diamonds)
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)
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")
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")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.