包含包含表达式的图例文本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了包含包含表达式的图例文本相关的知识,希望对你有一定的参考价值。

我一直在寻找ggplot2中的包装函数,它可以帮助我将图例文本放在一个定义的矩形区域。

到目前为止我还没有找到一个。这是我的情况:

library (ggplot2)
p = ggplot (mtcars, aes (x = mpg, y= cyl,color = factor (cyl)))
p + geom_point()
z = unique (factor (mtcars$cyl))
p + geom_point() + scale_color_manual(name="legend title", breaks = z, 
                                  labels = c (expression(a + b + c + d + e + f + g + h + i), expression(x) ,  expression(y ) ),
                                  values = c("red","blue","green") )

我想要的是将长表达式包含在五个字符的宽度内。

是否有任何函数可以自动将每个图例键的文本包装在定义的文本宽度中,我想知道它是否也适用于表达式。

答案

以下,使用str_wrapstringr,应该适合你。它根据要求使用值5包装,但看起来不那么好。

library(ggplot2)
library(stringr)
p = ggplot (mtcars, aes (x = mpg, y= cyl,color = factor (cyl)))
p + geom_point()
z = unique (factor (mtcars$cyl))
p + geom_point() + scale_color_manual(name="legend title", breaks = z, 
                                      labels = c(str_wrap(expression(a + b + c + d + e + f + g + h + i), 5), expression(x) ,  expression(y ) ),
                                      values = c("red","blue","green") )

enter image description here

以上是关于包含包含表达式的图例文本的主要内容,如果未能解决你的问题,请参考以下文章

如何测试文本片段是不是是 Quoted-printable 编码的

JSP语法

JSP 语法

asp.net 使用正则表达式验证包含打开/关闭括号片段的属性字符串

在代码片段中包含类型转换

无法使用 D3 更改组元素内图例文本的 x 位置