Top50ggplot2Visualizations_第一幅:散点图

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

很早之前就发现了这个教程(Top 50 ggplot2 Visualizations - The Master List (With Full R Code)),自己作图的时候经常会参考这个教程中的例子,接下来的这段时间自己争取每天都重复其中的一个例子。如果你也想学习R语言ggplot2绘图,欢迎和我一起重复这篇教程中的50幅美图。相信我们在坚持重复完这50个教程之后,我们的R语言技能可以得到显著提升。如果你在重复这些教程中,欢迎添加我的微信,我们可以一起讨论在重复过程中遇到的问题。

今天第一幅图是散点图(scatterplot)

散点图是数据分析中非常常用的一种形式(The most frequently used plot for data analysis is undoubtedly the scatterplot);如果你想初步了解两个变量之间的关系,第一选择一定是散点图(Whenever you want to understand the nature of relationship between two variables, invariably the first choice is the scatterplot);ggplot2中用来画散点图的函数是geom_point(),同时可以用geom_smooth()函数添加拟合曲线。

ggplot2是R语言中最为常用的一个绘图包。

如果第一次使用需要通过 install.packages("ggplot2") 来安装;执行命令就可以自动下载安装;以后每次使用需要通过library(ggplot2)来加载。

  • 散点图教程中第一条代码options(scipen=999) 关闭科学计数法(学英语:turn-off scientific notation)
  • 第三条代码theme_set(theme_bw())可以先忽略
  • 第四条代码data("midwest", package = "ggplot2")加载内置数据集

R语言里最为常用的数据格式是

  • 向量
  • 矩阵
  • 数据框

数据框是ggplot2的输入格式,我们自己的数据通常会整理在excel中,读入R语言后就是以数据框格式存贮。

接下来是绘图代码
  • 首先是一幅散点图加拟合曲线
代码语言:javascript复制
library(ggplot2)
options(scipen=999)
data("midwest",package="ggplot2")
ggplot(midwest,aes(x=area,y=poptotal)) 
  geom_point() 
  geom_smooth()
  • 然后是加一些函数和参数对图的细节进行修改
代码语言:javascript复制
ggplot(midwest, aes(x=area, y=poptotal))   
  geom_point(aes(col=state, size=popdensity))   
  geom_smooth(method="loess", se=F)   
  xlim(c(0, 0.1))   
  ylim(c(0, 500000))   
  labs(subtitle="Area Vs Population", 
       y="Population", 
       x="Area", 
       title="Scatterplot", 
       caption = "Source: midwest") 
  theme_bw()

image.png

如果在重复这幅图的时候遇到任何问题,欢迎在留言讨论

0 人点赞