R实战:【绘图】ggplot2多维度分析(分面)

ggplot2作图详解4:分面(faceting)

显然这是对数据进行分组后绘制得到的图形,这类图形对于比较不同数据的趋势非常有帮助。facet_wrap 的参数(facet_grid同)如下:

# 非运行代码
facet_wrap(facets, nrow = NULL, ncol = NULL, scales = "fixed",
           shrink = TRUE, as.table = TRUE, drop = TRUE)

  • facets:分面参数如 ~cut,表示用 cut 变量进行数据分类
  • nrow:绘制图形的行数
  • ncol:绘制图形的列数,一般nrow/ncol只设定一个即可
  • scales:坐标刻度的范围,可以设定四种类型。fixed 表示所有小图均使用统一坐标范围;free表示每个小图按照各自数据范围自由调整坐标刻度范围;free_x为自由调整x轴刻度范围;free_y为自由调整y轴刻度范围。
  • shrinks:也和坐标轴刻度有关,如果为TRUE(默认值)则按统计后的数据调整刻度范围,否则按统计前的数据设定坐标。
  • as.table:和小图排列顺序有关的选项。如果为TRUE(默认)则按表格方式排列,即最大值(指分组level值)排在表格最后即右下角,否则排在左上角。
  • drop:是否丢弃没有数据的分组,如果为TRUE(默认),则空数据组不绘图。

下面看看 scales 的设定效果:

p  + geom_point() + facet_wrap(~cut, scales="free") + ggtitle('scales="free"')
p  + geom_point() + facet_wrap(~cut, scales="free_y") + ggtitle('scales="free_y"')
R语言ggplot2包之坐标轴

如果想去除刻度线,在theme函数中使用axis.ticks.y = element_blank(),如果x、y轴都想去除axis.ticks.y改成axis.ticks即可。

下面的设置效果是:

以DayOfYear为X轴;以Close为Y轴,以Year为分组,Y轴根据数据调整刻度范围;不显示坐标刻度

ggplot(y, aes(DayOfYear, close, group =1)) + geom_line()  + facet_grid(Year~., scales="free_y") + theme(axis.text = element_blank())


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C++程序员Carea

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值