R语言HH包likert函数X轴刻度自定义:增量改为10且左侧为正
自定义HH包likert图的X轴刻度
我来帮你搞定这个likert图的X轴自定义需求!因为HH包的likert()是基于lattice绘图系统的,所以我们可以通过scales参数来手动控制刻度的位置和显示标签。
下面是修改后的完整代码,刚好满足你要的10单位增量和0左侧刻度显示正值的要求:
library(HH) data("ProfChal", package = "HH") # 定义X轴刻度位置和标签 x_at <- seq(-100, 100, 10) # 从-100到100,间隔10设置刻度点 x_labels <- abs(x_at) # 取绝对值,让0左侧的负刻度显示为正值 # 绘制likert图并自定义X轴 likert(Question ~ . , data=ProfChal[EmpRows,], as.percent=TRUE, ylab=NULL, main="Is your job professionally challenging?", positive.order=TRUE, scales = list(x = list(at = x_at, labels = x_labels)) # 关键的自定义刻度参数 )
代码细节说明:
x_at <- seq(-100, 100, 10):明确指定X轴刻度的位置,从-100到100,每10个单位一个刻度,直接替换默认的20单位增量。x_labels <- abs(x_at):通过取绝对值处理刻度值,让原本左侧的负刻度(对应负面选项占比)显示为正数,完全符合你要的显示效果。scales = list(x = list(at = x_at, labels = x_labels)):把自定义的刻度位置和标签传递给绘图函数,覆盖默认的X轴配置。
运行这段代码后,你就能得到符合预期的likert图了~
内容的提问来源于stack exchange,提问作者Somenath Bera
相关产品推荐
相关产品推荐

