title: "中国贫困人口变化图"
author: "wintryheart"
date: "2019年5月13日"
output: html_document
knitr::opts_chunk$set(echo = TRUE, warning=FALSE, message=FALSE)
load("C:\\Users\\wintryheart\\Documents\\poor2018.RData")
attach(poor)
library(ggplot2)
确定共同的X轴
p1 <- ggplot(poor, aes(x=year))
添加不同的线,标识不同线的颜色代表含义
p2 <- p1+geom_point(aes(y=p1978, color="1978年标准"))+geom_point(aes(y=p2008, color="2008年标准"))+geom_point(aes(y=p2010,color="2010年标准"))

修改坐标轴的刻度,年份间隔设置为2,强制人口数的取值区间为[0,90000]。
p3 <- p2 + scale_x_continuous(breaks=seq(1975,2020,2)) + scale_y_continuous(breaks = c(0, 5000, 10000, 25000, 50000, 75000, 90000), limits=c(0,90000), labels = c("0", "5K", "10K","25K", "50K", "75k", "90K"))

修改坐标轴刻度标签的角度,旋转45度
p4 <- p3 + theme(axis.text.x = element_text(angle=45, hjust=1))

修改坐标轴标签,添加图标题,修改图标标题
p5 <- p4 + labs(x="年份", y="贫困人口:万人", title="中国贫困人口三十年变化", color="贫困标准")

标题居中,修改图例位置
p6 <- p5+theme(plot.title = element_text(hjust = 0.5), legend.position="right")

给数据点标注数据。vjust为正,标记在数据点下方;为负,标记在上方。
p7 <- p6 +geom_text(aes(y=p2010, label=p2010), size=2.5, vjust=-2)

用caption在图的底部添加注释,默认右对齐. hjust代表水平对齐,0将左对齐,0.5将居中,1将右对齐。
p8 <- p7+labs(caption="1. 1978年标准:1978-1999年称为农村贫困标准,2000-2007年称为农村绝对贫困标准。")+
theme(plot.caption = element_text(hjust = 0.5))
长标题换行用\n, 或者直接回车。
p9 <- p7+labs(caption="注: 1. 1978年标准:1978-1999年称为农村贫困标准,2000-2007年称为农村绝对贫困标准。
2. 2008年标准:2000-2007年称为农村低收入标准,2008-2010年称为农村贫困标准。
3. 2010年标准:即现行农村贫困标准。现行农村贫困标准为每人每年2300元(2010年不变价)。")+
theme(plot.caption = element_text(hjust = 0))

注:labs函数中caption参数中,文字换行对齐的问题。(不断试出来的经验,并不理解为什么)
- 换行可以直接回车。上图中用的回车。
- 为了对齐,需要加空格。 "注:"包含一个中文字符和一个标点字符,共占3个字符位,需要打三个空格。
- \n也可以换行,但是\n后面加3个空格,是没有用的。
- 可以用 作为空格的转义字符来对齐。
网友评论