瀑布图(瀑布包)ggplot - 包裹长x轴标签

问题描述 投票:0回答:1

使用瀑布包。 如果我尝试换行长轴标签,标签会换行,但它们会按字母顺序排列,与数据无关。

无包装:

library(waterfalls)
waterfall(wf, calc_total=TRUE, rect_width=.4, fill_by_sign=TRUE, 
  total_rect_color="grey", rect_border=NA) + 
labs(y="Cost", title ="Waterfall", x=NULL)

without wrapping

使用 str_wrap:

waterfall(wf, calc_total=TRUE, rect_width=.4, fill_by_sign=TRUE, 
    total_rect_color="grey", rect_border=NA) + 
  labs(y="Cost", title ="Waterfall", x=NULL) + 
  scale_x_discrete(labels = function(x) str_wrap(x, width = 10))

x 的比例已经存在。 为 x 添加另一个比例,这将取代现有的比例。

Alphabetized axis labels

我也尝试过wrap_format,结果相同。

waterfall(wf, calc_total=TRUE, rect_width=.4, fill_by_sign=TRUE, 
    total_rect_color="grey", rect_border=NA) + 
  labs(y="Cost", title ="Waterfall", x=NULL) + 
  scale_x_discrete(labels = wrap_format(10))

我该如何解决这个问题?

r ggplot2 word-wrap axis-labels
1个回答
0
投票

将标签包裹在

waterfall
函数之前:

library(waterfalls)
library(tidyverse)

wf <- data.frame(factors = c('Start',
                             'Differential A',
                             'Move',
                             'EQ',
                             'Differential (Premium)',
                             'Transportation'),
                 cost = c(119.19, -25.4, -0.832, -5.7, 4.93, -7.37))


wf %>%
  mutate(factors = str_wrap(factors, width = 10)) %>%
  waterfall(calc_total=TRUE, rect_width=.4, fill_by_sign=TRUE,
            total_rect_color="grey", rect_border=NA) + 
  labs(y="Cost", title ="Waterfall", x=NULL)

© www.soinside.com 2019 - 2024. All rights reserved.