第一部分
公众号里有朋友提问——在散点图添加拟合曲线的图中如何添加一条虚线对角线?
image.png
就是由图A变成图B;应该有很多方法可以实现,这里我使用geom_segment()
函数
geom_segment()
函数需要四个参数:起点位置坐标和终点位置坐标,默认是实线;通过linetype
参数修改线型。
上面图片的实现代码
head(cars)
library(ggplot2)
p1<-ggplot(cars,aes(x=speed,y=dist))
geom_point()
geom_smooth(method = "lm",se=F)
theme_bw()
p2<-ggplot(cars,aes(x=speed,y=dist))
geom_point()
geom_smooth(method = "lm",se=F)
theme_bw()
geom_segment(aes(x=0,xend=25,y=0,yend=120),
linetype=2)
ggpubr::ggarrange(p1,p2,ncol=2,labels = c("A","B"))
第二部分
- 原文地址 http://r-statistics.co/Top50-Ggplot2-Visualizations-MasterList-R-Code.html
今天重复这个教程中的第二幅图 Area Chart 直译过来是面积图
面积图通常是用来展示某个指标和某个基准线来比较,比如股票的收益率(such as % return from stock)可以用geom_area()
函数来实现。
完整代码
library(ggplot2)
library(quantmod)
economics$returns_perc <- c(0, diff(economics$psavert)/economics$psavert[-length(economics$psavert)])
ggplot(economics[1:100,],aes(date,returns_perc))
geom_area(fill="darkgreen",alpha=0.8)
theme_bw()
theme(axis.text.x = element_text(angle=90,vjust=0.5))
labs(title = "Area Chart",
subtitle = "Perc Returns for Personal Savings",
y="% Returns for Personal savings",
caption="Source: economics")
image.png
重复这幅图的时候遇到的问题是
diff()
函数的用法,暂时还没有搞懂