我正在尝试使用 R 中的包为李克特量表数据创建热图likert
,并且我想使用 y 轴标签来包裹它们str_wrap
以使它们更具可读性。但是,当我使用str_wrap
with时scale_y_discrete
,标签的顺序会更改为字母顺序,而不是保留原始顺序。
MRE 有或没有评论scale_y_discrete(labels = function(x) str_wrap(x, width = 5))
:
library(likert)
library(ggplot2)
library(stringr)
library(dplyr)
diamonds %>%
select(cut) %>%
as.data.frame() %>%
likert() %>%
plot(., type = "heat") +
# scale_y_discrete(labels = function(x) str_wrap(x, width = 5))
NULL
当我使用 时scale_y_discrete(labels = str_wrap)
,y 轴标签正确换行,但标签的顺序更改为字母顺序。我想保留原始级别中标签的原始顺序。问题:
如何str_wrap
在保留原始顺序的同时使用 y 轴标签进行包装ggplot2
?
我非常确定该问题是cut
由因子到字符类的转换引起的。但是,我无法解决这个问题。
任何有关如何实现这一目标的帮助或指导将不胜感激!
恕我直言,最简单的方法是在将数据传递到之前包装标签
likert()
: