加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

ggplot2学习笔记:修改坐标2

(2014-05-13 18:07:29)
标签:

杂谈

分类: R语言

1、修改坐标轴的显示范围

先看下图:

http://s14/middle/001yrlCazy6IQEljtYFdd&690

这是中美两国历年人口平均预期寿命变化趋势对比图,显示的范围是从1900年到2008年,用以下语句生成:

gg+geom_line(aes(年份,寿命,color=国家,alpha=1/3),size=2) +labs(title="近代中美人口寿命变化情况")

如果只想显示从1950年到2009年的数据,那么修改X轴的显示范围,用scale_x_continuous()函数的limits参数,语句如下:

gg+geom_line(aes(年份,寿命,color=国家,alpha=1/3),size=2) +

    labs(title="近代中美人口寿命变化情况") +

    scale_x_continuous(limits=c(1950,2000))

效果如下:

还有个简化语句:ylim(1950,2000),也是同样的效果。

2、修改坐标的显示刻度

仍然用scale_x_continuous()函数,这次的参数是limits,下图把每一年都显示到坐标上,我把字体稍微调小了一点,否则太难看:

gg+geom_line(aes(年份,寿命,color=国家,alpha=1/3),size=2) +

    labs(title="近代中美人口寿命变化情况") +

    scale_x_continuous(limits=c(1950,2000),breaks=mydata$年份) +

    theme(axis.text.x=theme_text(angle=45,size=5))

效果如下:

可以看到,每一年都显示出来,但即使字体调小,还是显得密密麻麻,看不清楚。如果每隔5年显示一次年份,效果就会好很多,这涉及到调整坐标显示间隔的问题,还是要用到breaks参数,并且要用seq(起始值,终止值,间隔)函数来设置间隔,语句如下:

gg+geom_line(aes(年份,寿命,color=国家,alpha=1/3),size=2) +

    labs(title="近代中美人口寿命变化情况") +

    scale_x_continuous(limits=c(1950,2000),breaks=seq(1950,2000,5)) +

    theme(axis.text.x=theme_text(angle=45,size=8))

效果如下:

http://s11/middle/001yrlCazy6ISbP9ox46a&690

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有