我想知道如何在指定的宽度内将一串文本包装在节点中。
我知道我可以有表格A->B->C,但是对于我来说A,B和C几乎都是2-4行的段落。当然,我可以手动创建断线。
这是有用的,当你有两个或三个字,但不是真正的工作与段落。
有没有办法让标签表现得像一个文本区域,这样我就可以设置一个宽度,然后把所有我想要的文本,而不是手动打破线?如果是,是否也可以控制文本的对齐?
编辑:@CALUM成功了,但是将图表的方向改为“从左到右”,在“图形”的属性中添加'rankdir = LR‘会导致字体大小减小,增加“fontsize”属性并不能解决这个问题。
T1 <- 'El usuario detecta un problema y empieza a buscar información para entenderlo mejor.'
T2 <- 'Se considera todas las alternativas ofrecidas en el mercado.'
T3 <- 'Se efectúa la elección.'
T1 <- paste(stri_wrap(paste0(T1, "\\l"), width = 50, indent = 0, exdent = 0), collapse="\\l")
T2 <- paste(stri_wrap(paste0(T2, "\\l"), width = 50, indent = 0, exdent = 0), collapse="\\l")
T3 <- paste(stri_wrap(paste0(T3, "\\l"), width = 50, indent = 0, exdent = 0), collapse="\\l")
diagram <- glue("digraph boxes_and_circles {{
graph[overlap = true, fontsize = 10, rankdir = LR]
node [shape = box,
fontname = Helvetica]
A[label='{T1}'];
B[label='{T2}'];
C[label='{T3}'];
A->B->C
}}
")
DiagrammeR::grViz(diagram)发布于 2021-03-10 22:15:28
好的。这需要做几件事:
stringi的stri包装来拆分字符串粘贴(collapse=“\n”),以将这些拆分重新组合在一起
然后为了更好的测量胶水将字符串放入图表中
require(glue)
require(stringi)
require(diagrammeR)
# Load the long label into an object:
L <- 'A really very long text string label'
LEFT <- paste(
stri_wrap(
paste0(
L,
"\\l"),
width = 20,
indent = 0,
exdent = 0),
collapse="\\l") # Use \\l to left align. add to end of text too.
CENTRE <- paste(stri_wrap(L, width = 20, indent = 0, exdent = 0), collapse="\n") # Use \n for centres
RIGHT <- paste(stri_wrap(paste0(L,"\\r"), width = 20, indent = 0, exdent = 0), collapse="\\r") # Use \\r to right align, added to end of text too.
# Insert the string into the diagram in stead of {LEFT} {CENTRE} {RIGHT}
# Could do similar with paste
diagram <- glue("digraph boxes_and_circles {{
graph [overlap = true, fontsize = 10]
node [shape = box,
fontname = Helvetica]
A[label='{LEFT}'];
B[label='{CENTRE}'];
C[label='{RIGHT}'];
A->B->C
}}
")
DiagrammeR::grViz(diagram)
# Draw the diagram
DiagrammeR::grViz(diagram)编辑以添加左、中心和右对齐文本
https://stackoverflow.com/questions/66572771
复制相似问题