以数据diamonds为例进行作图。
library(ggplot2)
head(diamonds)
## # A tibble: 6 x 10
## carat cut color clarity depth table price x y z
## <dbl> <ord> <ord> <ord> <dbl> <dbl> <int> <dbl> <dbl> <dbl>
## 1 0.23 Ideal E SI2 61.5 55 326 3.95 3.98 2.43
## 2 0.21 Premium E SI1 59.8 61 326 3.89 3.84 2.31
## 3 0.23 Good E VS1 56.9 65 327 4.05 4.07 2.31
## 4 0.290 Premium I VS2 62.4 58 334 4.2 4.23 2.63
## 5 0.31 Good J SI2 63.3 58 335 4.34 4.35 2.75
## 6 0.24 Very Good J VVS2 62.8 57 336 3.94 3.96 2.48
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.