如何在 ggplot 而不是 geom 中显示值
How to show values in ggplot instead of geom
我有一个如下所示的数据集:
cluster <- c(rep(c(1:4), 2))
score <- c(1.3, 7.2, 4.9, 7.5, 6.8, 4.1, 9.9, 5.8)
x_axis <- c(rep("indicator1", 4), rep("indicator2", 4))
dt <- data.table(cluster, score, x_axis)
我正在按集群绘制每个指标的分数:
ggplot() +
geom_point(data=dt, aes(x=x_axis, y=score))
我想执行以下操作之一:
- 用聚类编号替换图中的点(或将数字放在点旁边),或
- 对每个聚类使用不同的 shapes/color 并在图下方添加图例,指示每个形状对应于哪个聚类。
我该怎么做?
这是两个选项。要为簇使用形状,请将 factor(cluster)
传递给 geom_point
的 shape
美学。
ggplot(dt, aes(x_axis, score)) +
geom_point(aes(shape = factor(cluster)), size = 4) +
theme_bw(base_size = 16) +
labs(shape = 'Cluster')
如果您只想在每个点上添加标签,则不需要美观的形状,但您可能希望在文本后面绘制一些白色圆圈:
ggplot(dt, aes(x_axis, score)) +
geom_point(size = 8, shape = 21, fill = 'white') +
geom_text(aes(label = cluster), size = 5) +
theme_bw(base_size = 16)
如果您正在写入允许颜色的格式,我认为标记簇的最清晰方法是将它们映射到 color
美学:
ggplot(dt, aes(x_axis, score)) +
geom_point(aes(color = factor(cluster)), size = 8) +
theme_bw(base_size = 16) +
scale_color_brewer(palette = 'Set1') +
labs(color = 'Cluster')
我有一个如下所示的数据集:
cluster <- c(rep(c(1:4), 2))
score <- c(1.3, 7.2, 4.9, 7.5, 6.8, 4.1, 9.9, 5.8)
x_axis <- c(rep("indicator1", 4), rep("indicator2", 4))
dt <- data.table(cluster, score, x_axis)
我正在按集群绘制每个指标的分数:
ggplot() +
geom_point(data=dt, aes(x=x_axis, y=score))
我想执行以下操作之一:
- 用聚类编号替换图中的点(或将数字放在点旁边),或
- 对每个聚类使用不同的 shapes/color 并在图下方添加图例,指示每个形状对应于哪个聚类。
我该怎么做?
这是两个选项。要为簇使用形状,请将 factor(cluster)
传递给 geom_point
的 shape
美学。
ggplot(dt, aes(x_axis, score)) +
geom_point(aes(shape = factor(cluster)), size = 4) +
theme_bw(base_size = 16) +
labs(shape = 'Cluster')
如果您只想在每个点上添加标签,则不需要美观的形状,但您可能希望在文本后面绘制一些白色圆圈:
ggplot(dt, aes(x_axis, score)) +
geom_point(size = 8, shape = 21, fill = 'white') +
geom_text(aes(label = cluster), size = 5) +
theme_bw(base_size = 16)
如果您正在写入允许颜色的格式,我认为标记簇的最清晰方法是将它们映射到 color
美学:
ggplot(dt, aes(x_axis, score)) +
geom_point(aes(color = factor(cluster)), size = 8) +
theme_bw(base_size = 16) +
scale_color_brewer(palette = 'Set1') +
labs(color = 'Cluster')