ggplot2:让图表更顺滑

2022-04-27 19:17:25 浏览数 (2)

知道绘图的原理,找到关键路径-绘图就会变的很简单,加上日积月累的练习,就会绘制出亮眼的图形。

1,图是什么?

图形就是从数据到几何对象(geometric object 包括:点、线、条形等)的图形属性(aesthetic attributes 包括:颜色、形状、大小等)用标度(scale)映射的影像。

此外,图形中还可能包含数据的统计变换(statistical transformation),最后绘制在某一个特定的坐标系(coordinate system)中,而分面则可以用来生成不同维度数据子集的图形。

2,入门小试:了解图形属性

代码语言:javascript复制
library(ggplot2)
data() #查看R自带的数据集
diamonds #选择数据集-Prices of over 50,000 round cut diamonds

开始操练:如何控制颜色、形状、大小

代码语言:javascript复制
> qplot(carat, x*y*z, data=diamonds)
> qplot(carat, price, data=dsmall,colour=color) #加颜色
> qplot(carat, price, data=dsmall,colour=color, shape=cut) #加形状
> qplot(carat, price, data=diamonds,colour=color, shape=cut, alpha=I(1/100)) #加透明度

3,进阶一步:善用几何对象

ggplot2中可以用geom来添加几个对象:point,smooth,boxplot,path,line 等点线条形。几何对象让图形变化多样,虽然很炫,但是要适宜而用。

代码语言:javascript复制
qplot(carat, price, data=diamonds,colour=color, geom = c("point","smooth"))
qplot(carat, price, data=diamonds,colour=color, geom = c("boxplot"))
#指定拟合方法,这是是直线
> qplot(carat, price, data=dsmall, geom = c("point", "smooth"), span=1, method='lm')
> library(splines)
> qplot(carat, price, data=dsmall, geom = c("point", "smooth"), span=1, method='lm', formula=y~ns(x,3))
> qplot(color,price/carat, data=diamonds, geom = 'jitter')
> qplot(color,price/carat, data=diamonds, geom = 'boxplot')
代码语言:javascript复制
> qplot(carat, data=diamonds, geom = 'density')
> qplot(carat, data=diamonds, geom = 'histogram')
> qplot(color, data=diamonds, geom = 'bar')
> qplot(date,uempmed,data=economics, geom = 'line')

4,多视角看数据:分面更全面

代码语言:javascript复制
qplot(carat, data=diamonds, geom = 'bar', facets = color~.)

本文我们学会了,用ggplot2运用简单的数据和几何对象构造出具有大小、形成、颜色属性的图形;

苦练上述基本作图操作,关注我一起研究更多ggplot2的高级用法。

0 人点赞