概述
ggplot
函数data
:定义待可视化的源数据mapping
:定义数据到图形的映射aes
:美学元素,定义图形的呈现细节
geom
开头的一系列函数:指定图形元素- 主题 (theme):主题提供了一套绘图风格,在作图中最后加入
+theme_*()
即可套用相应的主题- e.g.
theme_bw()
黑白主题,theme_gray()
灰色主题,theme_classic()
经典主题
- e.g.
散点图:geom_point()
简单散点图
> library(ggplot2)
> data(mtcars)
> p<-ggplot(
+ data=mtcars, # 定义源数据
+ mapping=aes( # 定义美学元素
+ x=wt, # x轴代表wt取值
+ y=mpg # y轴代表mpg取值
+ )
+ )
> p+geom_point() # 以散点图形式呈现
带分组的散点图
可用于探索不同分组下两连续变量的关系。
分组因子既可以用颜色声明,也可以用形状声明。
注意在制图前必须先将分组变量因子化。
> mtcars$am<-factor(mtcars$am) # 必须将分组变量因子化后才能进行下一步,否则会报错
> ggplot(
+ data=mtcars, # 定义源数据
+ mapping=aes( # 定义美学元素
+ x=wt, # x轴代表wt取值
+ y=mpg, # y轴代表mpg取值
+ color=am # color,也即颜色元素代表am取值
+ )
+ )+geom_point()
类似地,如果将上述代码中aes
内的color
更换为shape
,则会使用形状声明分组因子:
> ggplot(
+ data=mtcars,
+ mapping=aes(
+ x=wt,
+ y=mpg,
+ shape=am
+ )
+ )+geom_point()
声明≥3个连续变量特征的散点图
除x、y轴可用于排布连续变量外,也可以把连续变量数值赋予散点的颜色 (color
)或尺寸 (size
)等属性。
> ggplot(
+ data=mtcars,
+ mapping=aes(
+ x=wt, # x轴代表wt取值
+ y=mpg, # y轴代表mpg取值
+ color=hp, # 颜色代表hp取值 (允许在一光谱上连续取值)
+ size=disp # 散点大小代表disp取值
+ )
+ )+geom_point()
效果如下:
拟合曲线图:geom_smooth()
使用geom_smooth()
可绘制拟合曲线:
> ggplot(
+ data=mtcars,
+ mapping=aes(
+ x=wt,
+ y=mpg,
+ color=am # 此处颜色代表am取值
+ )
+ )+geom_smooth() # 因为am是离散的因子,所以后面geom_smmoth出来是两条线,也即分别拟合
通过声明geom_smooth()
中的method
参数,可设置拟合方法。
例如:声明method="lm"
可进行直线拟合,不再赘述。
同时呈现分组散点图与整体拟合图:stat_smooth()
在ggplot
中仅声明x、y取值,而在geom_point()
中以aes
声明分组特征,并在后面加上stat_smooth()
,可同时呈现分组散点图与整体拟合图。
> ggplot(
+ data=mtcars,
+ mapping=aes( # 这里没有对am进行mapping,所以下面的stat_smooth不会影响am
+ x=wt,
+ y=mpg
+ )
+ )+geom_point(aes(color=am)) + stat_smooth()
根据分类变量取值分别作图:facet_grid()
> ggplot(
+ data=mtcars,
+ mapping=aes(
+ x=wt,
+ y=mpg
+ )
+ )
+ +geom_point()
+ +stat_smooth()
+ +facet_grid(~am) # 以am的不同取值分组作图
保存图形:ggsave()
语法:ggsave("含扩展名的保存名",图形对象名,额外声明的参数)
> p<-ggplot(data=Arthritis,mapping=aes(
+ x=Treatment,
+ fill=Improved
+ ))+geom_bar()
> ggsave("p.tiff",p,dpi=300) # 保存为精度为300 dpi的tiff文件
转载:https://blog.csdn.net/ethmery/article/details/112583698
查看评论