Top50ggplot2Visualizations_第2幅:面积图

2020-03-03 15:03:59 浏览数 (1)

第一部分

公众号里有朋友提问——在散点图添加拟合曲线的图中如何添加一条虚线对角线?

image.png

就是由图A变成图B;应该有很多方法可以实现,这里我使用geom_segment()函数 geom_segment()函数需要四个参数:起点位置坐标和终点位置坐标,默认是实线;通过linetype参数修改线型。 上面图片的实现代码

代码语言:javascript复制
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()函数来实现。 完整代码

代码语言:javascript复制
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()函数的用法,暂时还没有搞懂

0 人点赞