📜  在 R 中使用 ggplot2 创建具有多个组的散点图(1)

📅  最后修改于: 2023-12-03 15:37:27.868000             🧑  作者: Mango

在 R 中使用 ggplot2 创建具有多个组的散点图

ggplot2 是一个基于 R 语言的数据可视化工具包,可以生成高度定制化的图形。在本文中,我将介绍如何使用 ggplot2 创建具有多个组的散点图。

准备数据

为了演示这个例子,我将使用 ggplot2 包内置的 diamonds 数据集。这个数据集包含有关 53,940 颗钻石的信息,包括钻石的重量、颜色、净度、价格等。我们首先需要加载这个数据集:

library(ggplot2)
data(diamonds)
创建散点图

首先,我们将创建一个简单的散点图,其中 x 轴表示钻石的克拉数,y 轴表示钻石的价格。我们使用 geom_point() 函数创建散点图,并使用 labs() 函数添加标题和轴标签。

ggplot(diamonds, aes(x=carat, y=price)) +
  geom_point() +
  labs(title="Diamonds Scatter Plot", x="Carat", y="Price")

这将生成一个简单的散点图,如下所示:

Diamonds Scatter Plot

将钻石按颜色分组

下一步,我们将根据钻石的颜色将它们分组,并添加组别的颜色。我们使用 scale_colour_manual() 函数指定不同颜色代表的钻石颜色。完整代码如下:

ggplot(diamonds, aes(x=carat, y=price, color=color)) +
  geom_point() +
  scale_colour_manual(values=c("#0072B2", "#E69F00", "#F0E442", "#009E73", "#D55E00", "#CC79A7")) +
  labs(title="Diamonds Scatter Plot (Grouped by Color)", x="Carat", y="Price")

这将生成一个具有不同组别颜色的散点图,如下所示:

Diamonds Scatter Plot (Grouped by Color)

将钻石按颜色和净度分组

最后,我们将根据钻石的颜色和净度将它们分组,并添加组别的颜色和形状。我们使用 scale_colour_manual() 函数和 scale_shape_manual() 函数指定不同颜色和形状代表的钻石颜色和净度。完整代码如下:

ggplot(diamonds, aes(x=carat, y=price, color=color, shape=clarity)) +
  geom_point() +
  scale_colour_manual(values=c("#0072B2", "#E69F00", "#F0E442", "#009E73", "#D55E00", "#CC79A7")) +
  scale_shape_manual(values=c(15, 17, 4, 8, 5, 1, 6)) +
  labs(title="Diamonds Scatter Plot (Grouped by Color and Clarity)", x="Carat", y="Price")

这将生成一个具有不同组别颜色和形状的散点图,如下所示:

Diamonds Scatter Plot (Grouped by Color and Clarity)

如上所示,我们可以使用 ggplot2R 中创建具有多个组的散点图,使数据更具可读性和可视化效果。