英文:
ggplot2 axis label spacing when using two rows
问题
当我运行以下的ggplot2代码时,我的坐标轴标签出现了一些奇怪的间距(例如,在第二行,就好像ggplot2试图将单位居中对齐,但然后将括号留得很远)。
x <- c("x", "y")
y <- c(5, 10)
df <- data.frame(x, y)
ggplot(df, aes(x = x, y = y)) +
ylab(bquote('平均订阅者\n( ' * km^2 * ' )'))
有没有办法去掉这个空格并将坐标轴标签居中?
英文:
When I run the following ggplot2 code, I get some odd spacing in my axis label (e.g., on the second row, it's as if ggplot2 tries to center the units, but then leaves the parentheses very far apart).
x <- c("x", "y")
y <- c(5, 10)
df <- data.frame(x, y)
ggplot(df, aes(x = x, y = y)) +
ylab(bquote('Mean Subscribers\n('*km^2*')'))
Any idea how I remove the space and center the axis label?
1: https://i.stack.imgur.com/0fr7R.png
答案1
得分: 1
另一个使用 bquote()
的替代方案是使用 {ggtext},它允许您使用 Markdown 语法。我发现它更直观,对多行标签的支持也更好。例如:
library(ggtext)
ggplot(df, aes(x = x, y = y)) +
ylab('平均订阅者<br>(km²)') +
theme(axis.title.y = element_markdown())
英文:
An alternative solution to using bquote()
is to use {ggtext} which lets you use markdown syntax. I've found it much more straightforward to use, and much better at multi-line labels. For example:
library(ggtext)
ggplot(df, aes(x = x, y = y)) +
ylab('Mean Subscribers<br>(km<sup>2</sup>)') +
theme(axis.title.y = element_markdown())
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论