rcdimple. Как обернуть длинные метки данных при построении? - PullRequest
0 голосов
/ 21 марта 2019

У меня есть следующие данные и график:

library(rcdimple)
df<- data.frame(values=rnorm(5, mean = 5,sd = 2),
labels=c("Short Label", "Medium Laaabel", "Looonnnnnggg Laaaaabbbeeeell",
                                                               "The quick brown fox jumped over the lazy dog",
                                                               "noSpacesLongLabelThatCanHopefullyBeSplitToo"))

dimple(
  labels ~ values,
  groups = "labels",
  data = df,
  type = "bar"
) %>%
  xAxis(type = "addMeasureAxis", title="Just An Axis Label") %>%
  #good test of orderRule on y instead of x
  yAxis(type = "addCategoryAxis", orderRule = "values", title="Wrap These Labels") %>%
  add_legend(
    x = 0,
    y = 10,
    width = "100%",
    height = 30,
    horizontalAlign = "right"
  ) %>%
  rcdimple::set_bounds("40.5%", "8.5%", "90%", "85%") %>%
  rcdimple::add_title(html=paste0("<h4>How Could I wrap long labels?</h4>" ))

Чтобы уместить метки, мне пришлось выделить довольно большой кусок площади построения (40,5%) для меток, а не для столбцов. Я хотел бы иметь возможность обернуть этикетки и дать столбцам на линейчатом графике больше места.

Мне интересно, возможно ли это сделать, и есть ли у кого-нибудь решение? Пока что пробовал, безрезультатно:

# 1. Putting in a "<br>" where desired after a space

df$labels<-stringr::str_replace_all(stringr::str_wrap(df$labels, width = 25), "\\n", " <br> ")

# Wrapping it all in HTML, even putting that inside eval(parse(text=df$labels))....

df$labels<- shQuote(paste0('htmltools::HTML("',stringr::str_replace_all(stringr::str_wrap(df$labels, width = 25), "\\n", " <br> "),'")'), type = "cmd")

Любая помощь очень ценится. Заранее спасибо. -NF

...