qplot(x, y, …, data, facets = NULL, margins = FALSE, geom = “auto”, xlim = c(NA, NA), ylim = c(NA, NA), log = “”, main = NULL, xlab = NULL, ylab = NULL, asp = NA, stat = NULL, position = NULL)
这里简单看一下数据结构
> summary(diamonds) carat cut color clarity depth Min. :0.2000 Fair : 1610 D: 6775 SI1 :13065 Min. :43.00 1st Qu.:0.4000 Good : 4906 E: 9797 VS2 :12258 1st Qu.:61.00 Median :0.7000 Very Good:12082 F: 9542 SI2 : 9194 Median :61.80 Mean :0.7979 Premium :13791 G:11292 VS1 : 8171 Mean :61.75 3rd Qu.:1.0400 Ideal :21551 H: 8304 VVS2 : 5066 3rd Qu.:62.50 Max. :5.0100 I: 5422 VVS1 : 3655 Max. :79.00 J: 2808 (Other): 2531 table price x y z Min. :43.00 Min. : 326 Min. : 0.000 Min. : 0.000 Min. : 0.000 1st Qu.:56.00 1st Qu.: 950 1st Qu.: 4.710 1st Qu.: 4.720 1st Qu.: 2.910 Median :57.00 Median : 2401 Median : 5.700 Median : 5.710 Median : 3.530 Mean :57.46 Mean : 3933 Mean : 5.731 Mean : 5.735 Mean : 3.539 3rd Qu.:59.00 3rd Qu.: 5324 3rd Qu.: 6.540 3rd Qu.: 6.540 3rd Qu.: 4.040 Max. :95.00 Max. :18823 Max. :10.740 Max. :58.900 Max. :31.800这里对diamonds里的数据属性进行简单翻译方便数据的理解, carat:克拉 cut:切割(Levels: Fair < Good < Very Good < Premium < Ideal) color:颜色(Levels: D < E < F < G < H < I < J) clarity:纯度(Levels: I1 < SI2 < SI1 < VS2 < VS1 < VVS2 < VVS1 < IF) depth:全深比 table:台面 price:价格 *
我们将数据分别用plot() 和qplot() 进行绘制,简单对比一下。
plot(diamonds.rand200$carat,diamonds.rand200$price) qplot(diamonds.rand200$carat,diamonds.rand200$price)数据内容是一样的,qplot的网格背景有效增强了数据的可阅读性。 除此之外 在qplot中可以设置图形属性,以更形象地展示图形中的信息,常用的图形属性包括形状(shape)、颜色(colour)、大小(size)、透明度(alpha)等。这些属性都有默认的取值情况,也可以通过I()自己设定图形属性。
colour属性会智能地依据所选属性的取值情况来安排颜色,下面举两个例子
以cut-钻石切割工艺(数据取值是有限集合)进行颜色划分 qplot(carat,price,data = diamonds.rand200,colour = cut)2. 以depth-钻石全深比(数据取值在连续区间内)进行颜色划分
qplot(carat,price,colour = depth)qplot()函数里的shapes的属性默认有6种图形,这个大家要注意,如果一个属性是在区间内取值或取值可能超过6种,就不要使用形状来区分数据了,编译器也会给出相应的警告信息The shape palette can deal with a maximum of 6 discrete values because more than 6 becomes difficult to discriminate;...
qplot(carat,price,colour = depth,shape = cut)在使用cut作为形状区分的指标时系统会给出警告:Warning message: Using shapes for an ordinal variable is not advised。目前还不知道为什么和应该怎么改,如果大家有什么意见或者建议欢迎留言~
使用到alpha = I(n) 属性,做出来的图将每个点的透明度降至n,n越小,点越透明,透明度越大,可以把n理解为显多少色(取值范围在0~1)。
qplot(carat,price,colour = depth,alpha = I(1/5)) qplot(carat,price,colour = depth,alpha = I(1/10)) qplot(carat,price,colour = depth,alpha = I(3/5)) #这里皮了一下,一般情况是使用1/m这样的数值,其实在自定义的取值里只要是0~1的数值都可以