在R语言的MDS分析中,如何自定义Dim.1与Dim.2的刻度范围?
在R语言MDS分析中指定坐标轴刻度范围
你可以通过在ggscatter绘图代码中添加坐标轴范围控制参数来实现需求,由于ggscatter基于ggplot2,直接使用ggplot2的坐标轴设置函数即可完成自定义刻度范围的操作。
修改后的完整代码
data("swiss") head(swiss) library(magrittr) library(dplyr) library(ggpubr) # 计算MDS mds <- swiss %>% dist() %>% cmdscale() %>% as_tibble() colnames(mds) <- c("Dim.1", "Dim.2") # 绘制MDS并指定刻度范围 ggscatter(mds, x = "Dim.1", y = "Dim.2", label = rownames(swiss), size = 1, repel = TRUE) + # 设置Dim.1(x轴)范围为-80到60 xlim(-80, 60) + # 设置Dim.2(y轴)范围为-70到30 ylim(-70, 30)
进阶刻度控制(可选)
如果需要自定义刻度显示间隔,可使用scale_x_continuous和scale_y_continuous替代xlim/ylim,示例如下:
ggscatter(mds, x = "Dim.1", y = "Dim.2", label = rownames(swiss), size = 1, repel = TRUE) + scale_x_continuous(limits = c(-80, 60), breaks = seq(-80, 60, 20)) + scale_y_continuous(limits = c(-70, 30), breaks = seq(-70, 30, 20))
其中breaks参数可自定义坐标轴上显示的刻度值,让刻度分布更贴合你的需求。
内容的提问来源于stack exchange,提问作者nerd
相关产品推荐
相关产品推荐

