Я искал функцию обертки в ggplot2, которая может помочь мне поместить текст легенды в определенную прямоугольную область. Пока я его не нашел. Вот мой случай:Текст легенды обложки, содержащий выражение в 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"))
То, что я хочу, чтобы иметь длинное выражение, завернутое в пределах ширины пяти символов.
Есть ли какая-либо функция, которая может автоматически обертывать текст каждой легенды в определенной ширине текста, и мне интересно, применимо ли это для выражений.
@stevebI попробовал это. Но как только я делаю выражение более сложным (например, ввод индексов и надстрочный индекс), он, похоже, не работает. Пусть –
@satyanarayanrao Можете ли вы включить код, который у вас есть для супер и индексов. Я могу посмотреть на тех, но сосредоточив внимание на том, что ваш конкретный случай станет хорошим местом для начала. – steveb
Вот он: str = paste ("P [\" "," a "," \ "]^m * Q *", "P [\" "," b "," \ "]^m * Q ", sep =" ") В ggplot: labels = c (str_wrap (parse (text = str), 15), выражение (x), выражение (y)) Здесь выражение выражается не так, как ожидалось , На самом деле у меня длинная строка такого выражения, и я хочу ее обернуть. –