У меня есть следующие данные и график:
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