简介
在本教程中,我们将向你展示如何用ggplot2包在R中创建散点图。ggplot2是R中一个非常流行的开源包,可以用来创建简单和复杂的可视化。在这里,我们将首先介绍geom_point()几何对象的语法,以便在ggplot2中创建散点图。然后,我们将介绍使用该库绘制简单和高级散点图的各种例子。
ggplot2中散点图的语法
在ggplot2中创建散点图的最小语法是
ggplot(, mapping = aes() + geom_point()
ggplot2可以让你在图中添加更多的层次,如主题、实验室等,以创建更高级的散点图。
在R中使用ggplot2绘制散点图的例子
加载库
让我们从加载ggplot2库开始。
我们将使用R中内置的CO2数据集,用于所有使用ggplot2绘制散点图的例子。二氧化碳数据集显示了各种草类标本的抗寒能力。
我们可以在下面看到二氧化碳数据集的前几行的一瞥。
在[0]中。
library
植物 | 类型 | 处理方法 | 浓度 | 摄取量 |
---|---|---|---|---|
Qn1 | 魁北克 | 非冷藏的 | 95 | 16.0 |
Qn1 | 魁北克 | 非冷冻 | 175 | 30.4 |
Qn1 | 魁北克 | 非冷冻 | 250 | 34.8 |
Qn1 | 魁北克 | 非冷冻 | 350 | 37.2 |
Qn1 | 魁北克 | 非冷冻 | 500 | 35.3 |
Qn1 | 魁北克 | 非冷冻 | 675 | 39.2 |
例1:用ggplot2绘制基本散点图
在这里,我们首先将数据集CO2与数据集属性的X和Y坐标的美学映射一起传递给ggplot。然后,我们为其添加第二层geom_point(),最终生成相当基本和简约的散点图。
In[1]:
ggplot
输出[1]。
例2:在ggplot2中使用自定义颜色绘制散点图
这是上一个基本散点图例子的扩展。在这里,我们将所需颜色的十六进制值作为参数传递给geom_point(),在散点图中呈现相同的颜色。
In[2]:
ggplot
Out[2]:
例3:ggplot2中的散点图尺寸
散点图标记的大小可以通过在geom_point()中传递size参数来增加。在这个例子中,我们传递了size = 3。
In[3]:
ggplot
Out[3]:
例四:在散点图中增加透明度
点的透明度也可以通过aes()中的alpha参数来定制,即美学部分。你可以传递一个一致的透明度值,也可以传递一个变量,这样透明度就会根据变量的值而变化。我们使用了数据集的 "吸收 "变量作为alpha值。
In[4]:
ggplot
Out[4]:
例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]:
为了让散点图的颜色划分有更好的视觉效果,我们在上面的代码中加入了两条水平线。
在[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()以满足你的需要。各种形状和它们相应的编号如下所示
(来源)
在下面的两个例子中,我们将形状值传递为17和14,以获得不同形状的散点图。
In[6]:
ggplot
Out[6]:
在[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.