gpt4 book ai didi

r - 在 R 中绘制一个多行文本框

转载 作者:行者123 更新时间:2023-12-04 11:42:31 24 4
gpt4 key购买 nike

我正在使用 R 创建一个多图布局插图,能够在其中一个图中创建一个多行文本框会很方便。

我熟悉使用 Sweave 组合图像、文本和 R 代码,但是由于各种原因,我需要将其作为 R 中生成的单页图。因此需要绘制文本框而不是使用 Latex 标记。

现有包中是否有可以执行此操作的功能?如果做不到这一点,任何人都可以提出一种简单的方法来处理这个问题吗?

考虑这种情况:

## Specify the dimensions of the plot
## that we require
win.graph(8,4)

## Two panel layout
layout(matrix(1:2, 1, 2))
par(mar=c(0,0,0,0))

## Left panel shows picture
plot(rep(1:10, each=10), rep(1:10, times=10),
col=rainbow(100), pch=20, cex=5)


## Right panel discusses the data
plot.default(c(0,100), c(0,100), type="n", axes=FALSE,
ylab="", xlab="")

text(20, 30, "It would be great if this text box\n
could handle word wrap, and ideally given the size\n
of the font (i.e. the cex parameter) and the area\n
of the plot it should be able to do this dynamically,\n
without requiring the newline characters I am\n
manually inserting. Ability to control the line\n
height would also be nice.\n
Am I dreaming?", cex=0.75, adj=c(0,0))

Output from example

最佳答案

试试 splitTextGrob()来自 R 图形书

text = paste(capture.output(licence()),collapse=" ")
library(RGraphics)
library(gridExtra)

grid.arrange(rectGrob(), splitTextGrob(text), ncol=2)

d <- expand.grid(seq(0.1, 0.9, length=10), seq(0.1, 0.9, length=10))
grid.arrange(pointsGrob(d[, 2], d[, 1], pch=21,
gp=gpar(fill=rainbow(100))), splitTextGrob(text), ncol=2)

enter image description here

(尝试调整窗口大小)

这种方法基于网格图形,您可以
  • 使用 lattice/ggplot2/grid 作图
  • 使用 gridBase将基础图形放置在网格视口(viewport)中的包
  • 关于r - 在 R 中绘制一个多行文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9304723/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com