用ggplot2学习R语言中的散点图及实例

107 阅读5分钟

简介

在本教程中,我们将向你展示如何用ggplot2包在R中创建散点图。ggplot2是R中一个非常流行的开源包,可以用来创建简单和复杂的可视化。在这里,我们将首先介绍geom_point()几何对象的语法,以便在ggplot2中创建散点图。然后,我们将介绍使用该库绘制简单和高级散点图的各种例子。

ggplot2中散点图的语法

在ggplot2中创建散点图的最小语法是

ggplot(, mapping = aes() + geom_point()

ggplot2可以让你在图中添加更多的层次,如主题、实验室等,以创建更高级的散点图。

在R中使用ggplot2绘制散点图的例子

加载库

让我们从加载ggplot2库开始。

我们将使用R中内置的CO2数据集,用于所有使用ggplot2绘制散点图的例子。二氧化碳数据集显示了各种草类标本的抗寒能力。

我们可以在下面看到二氧化碳数据集的前几行的一瞥。

在[0]中。

library
植物类型处理方法浓度摄取量
Qn1魁北克非冷藏的9516.0
Qn1魁北克非冷冻17530.4
Qn1魁北克非冷冻25034.8
Qn1魁北克非冷冻35037.2
Qn1魁北克非冷冻50035.3
Qn1魁北克非冷冻67539.2

例1:用ggplot2绘制基本散点图

在这里,我们首先将数据集CO2与数据集属性的X和Y坐标的美学映射一起传递给ggplot。然后,我们为其添加第二层geom_point(),最终生成相当基本和简约的散点图。

In[1]:

ggplot

输出[1]。

Scatter Plot in R using ggplot2

例2:在ggplot2中使用自定义颜色绘制散点图

这是上一个基本散点图例子的扩展。在这里,我们将所需颜色的十六进制值作为参数传递给geom_point(),在散点图中呈现相同的颜色。

In[2]:

ggplot

Out[2]:

scatter plot in R ggplot2

例3:ggplot2中的散点图尺寸

散点图标记的大小可以通过在geom_point()中传递size参数来增加。在这个例子中,我们传递了size = 3。

In[3]:

ggplot

Out[3]:

Scatter Plot in R using ggplot2

例四:在散点图中增加透明度

点的透明度也可以通过aes()中的alpha参数来定制,即美学部分。你可以传递一个一致的透明度值,也可以传递一个变量,这样透明度就会根据变量的值而变化。我们使用了数据集的 "吸收 "变量作为alpha值。

In[4]:

ggplot

Out[4]:

Scatter Plot in R using ggplot2

例5:根据数值自定义散点图的颜色

geom_point函数允许根据一些条件给点着色。在下面的例子中,点的颜色是根据二氧化碳数据集的吸收范围变量来设置的。

In[5]:

ggplot(CO2, mapping = aes(x = conc, y =uptake)) +
geom_point(size=3, aes(colour = uptake > 25 & uptake < 40), show.legend = FALSE)

Out[5]:

scatter plot in R ggplot2 Example

为了让散点图的颜色划分有更好的视觉效果,我们在上面的代码中加入了两条水平线。

在[5]中。

ggplot(CO2, mapping = aes(x = conc, y =uptake)) + 
geom_point(size=3, aes(colour = uptake > 25 & uptake < 40), show.legend = FALSE) + 
geom_hline(yintercept = 25, linetype = "dashed") + 
geom_hline(yintercept = 40, linetype = "dashed")

Out[5]:

例6:R ggplot2中不同形状的散点图

ggplot2中的散点图的形状可以通过geom_point()中的shape参数很容易改变。各种形状都有一个特定的数字,你需要将其传递给geom_point()以满足你的需要。各种形状和它们相应的编号如下所示

Scatter plot with different shapes in R ggplot2

(来源)

在下面的两个例子中,我们将形状值传递为17和14,以获得不同形状的散点图。

In[6]:

ggplot

Out[6]:

Scatter Plot in R using ggplot2

在[7]中。

ggplot

Out[7]:

例7:带组的散点图

在下面的例子中,我们根据数据集的处理变量的值,将其作为一个因素传递给颜色参数,对散点图的点进行分组。

In[8]:

ggplot

Out[8]:

例8:用拟合值创建散点图

我们可以用stat_smooth画一条线来拟合散点图的数据。

在 [9]:

ggplot(CO2, mapping = aes(x = conc, y =uptake)) +
geom_point(size=3,aes(color = factor(Treatment))) +
stat_smooth(method = "lm", col = "#C42126", se = FALSE, size = 2)

Out[9]:

例 9: 在散点图中添加标题、副标题和说明

添加标题、副标题和标题可以更好地解释散点图,否则它使用从数据集得出的默认值,而这些默认值可能并不总是不言自明的。

在ggplot2散点图中,你可以通过labs()层来添加它们,在这里我们可以传递轴的名称、标题、副标题和字幕。

In[10]:

ggplot(CO2, aes(x = conc, y = uptake)) +

geom_point(aes(size=3,color = factor(Treatment))) + 

labs( x = "Concentration",
y = "Uptake" ,
title = "Relation between Concentration and Uptake", 
subtitle = "Relationship break down by Treatment", 
caption = "Authors computation" )

Out[10]:

我们还可以通过添加另一层主题和指定文本大小、颜色等来为标题、副标题、标题添加更多的美学外观,如下例所示。

In[11]:

ggplot

Out[11]:

例10:为散点图添加主题

R允许我们用不同的主题来定制图表。ggplot2库包括8个主题。

  • theme_bw()
  • theme_light()
  • theme_classis()
  • theme_linedraw()
  • theme_dark()
  • theme_minimal()
  • theme_gray()
  • theme_void()

让我们在下面的例子中探索一些主题。

在[12]。

ggplot

Out[12]:

在[13]中。

ggplot(CO2, mapping = aes(x = conc, y =uptake)) +

Out[13]:

In [14]:

ggplot

Out[14]:

例11:在ggplot2中保存散点图

在所有这些步骤之后,是时候保存和分享你的图形了。你在绘制完图形后马上添加ggsave('filename'),它就会被保存在硬盘上。

该图被保存在工作目录中。要检查工作目录,你可以运行这段代码。

在[15]。

ggsave

The postLearn Scatter Plot in R using ggplot2 with Examplesappeared first onMLK - Machine Learning Knowledge.