如何在反应性 splom 格图中包装文本?

How to wrap text within reactive splom lattice plot?

在我闪亮的应用程序中,我让我的用户 select 在我的 splom() 调用中绘制 n 个属性,这基本上遵循以下步骤:

  1. 用户选择一个号码。
  2. 用户选择变量。
  3. 代码根据用户的选择对我的数据集进行子集化。
  4. Splom 的调用非常简单,类似于:lplot <- splom(data_subset).

但是,由于 splom() 中的面板是根据属性名称标记的(这是反应性的,所以我无法提前标记)并且名称很长,您无法阅读他们。

有谁知道是否有办法在 splom 面板输出中换行文本?包装将在属性反应值上完成,因此不会在字符串上完成。

这是我的输出结果:

步骤 3 中进行子集化后,您可以操作数据子集的名称以适当换行。

## Subset the data in whatever way shiny does (here's a reproducible example)
irisSub <- subset(iris, select = grepl("Width", names(iris)))

然后

  1. 用空格替换 "word"分隔符。在您的示例中,您可能只需要 "_"

    names(irisSub) <- gsub("\.|_", " ", names(irisSub))
    
  2. 以相当窄的宽度包裹这些字符串。您可能需要在这里尝试其他宽度。

    wrapList <- strwrap(names(irisSub), width = 10, simplify = FALSE)
    
  3. 粘贴这些字符串,中间有一个换行符(\n),并将它们分配给数据子集的名称

    names(irisSub) <- vapply(wrapList, paste, collapse = "\n", FUN.VALUE = character(1))
    
  4. splom 应该尊重 换行符

    splom(irisSub)