R 水平条形图标签相互重叠

R 水平条形图标签相互重叠,r,R,我正在使用数据集以水平方向创建水平面。类似于中提出的解决方案 但是,水平条形图Y轴上的标签数量有点太多(由于手头的问题),因此它们相互重叠 是否有办法保持条形图的箱子大小,并在条形图的水平方向上显示Y标签的子集 谢谢, rajat这里有一种方法,我们可以使用a将数据中的名称与空格交错: replace_multiple <- function(x, m){ len_x <- length(x) index_to_replace <- seq(1, len_x,

我正在使用数据集以水平方向创建水平面。类似于中提出的解决方案

但是,水平条形图Y轴上的标签数量有点太多(由于手头的问题),因此它们相互重叠

是否有办法保持条形图的箱子大小,并在条形图的水平方向上显示Y标签的子集

谢谢,
rajat

这里有一种方法,我们可以使用a将数据中的名称与空格交错:

replace_multiple <- function(x, m){
    len_x <- length(x)
    index_to_replace <- seq(1, len_x, by = m)
    x[index_to_replace] <- ''
    return(x)
}

replace_multiple(letters[1:12], m = 2)
# ""  "b" ""  "d" ""  "f" ""  "h" ""  "j" ""  "l"
replace_multiple(letters[1:12], m = 3)
# ""  "b" "c" ""  "e" "f" ""  "h" "i" ""  "k" "l"
replace_multiple(letters[1:12], m = 4)
# ""  "b" "c" "d" ""  "f" "g" "h" ""  "j" "k" "l"
生成一些数据 主要技巧是
names.arg=c(rbind(df1$x,rep('',50))[1:50]
行。它在数据中的名称之间插入空格。实际上,我们用空格替换了一半的名字

如果这还不够,我们可以定义一个函数,它接受一个名称向量,
x
,以及一个多个,
m
,它定义了要用空格替换的值:

replace_multiple <- function(x, m){
    len_x <- length(x)
    index_to_replace <- seq(1, len_x, by = m)
    x[index_to_replace] <- ''
    return(x)
}

replace_multiple(letters[1:12], m = 2)
# ""  "b" ""  "d" ""  "f" ""  "h" ""  "j" ""  "l"
replace_multiple(letters[1:12], m = 3)
# ""  "b" "c" ""  "e" "f" ""  "h" "i" ""  "k" "l"
replace_multiple(letters[1:12], m = 4)
# ""  "b" "c" "d" ""  "f" "g" "h" ""  "j" "k" "l"
替换多个
replace_multiple <- function(x, m){
    len_x <- length(x)
    index_to_replace <- seq(1, len_x, by = m)
    x[index_to_replace] <- ''
    return(x)
}

replace_multiple(letters[1:12], m = 2)
# ""  "b" ""  "d" ""  "f" ""  "h" ""  "j" ""  "l"
replace_multiple(letters[1:12], m = 3)
# ""  "b" "c" ""  "e" "f" ""  "h" "i" ""  "k" "l"
replace_multiple(letters[1:12], m = 4)
# ""  "b" "c" "d" ""  "f" "g" "h" ""  "j" "k" "l"