gpt4 book ai didi

r - 在不知道 ggplot2 中的标签的情况下更改标签的字体大小

转载 作者:行者123 更新时间:2023-12-01 12:27:23 25 4
gpt4 key购买 nike

我想更改此图中标签的字体大小:

library(ggplot2)
p <- ggplot(mtcars, aes(x=wt, y=mpg)) +
geom_text(label=rownames(mtcars))
p

mtcars plot

我的问题:我不知道标签是什么。(我存储了一个图,其中我使用不同的 data.frame()添加geom_text()。我现在只加载绘图(在本例中为 p),但不想同时加载 data.frame()我创建了标签)。

因为我不知道标签是什么,所以我不能使用这个解决方案:

p + geom_text(label=rownames(mtcars), size=2)

(此解决方案的另一个问题是我仍然需要删除具有较大字体大小的原始 geom_text())。


我可以使用此解决方案更改绘图中所有文本的大小:

library(grid)    
grid.force()
grid.gedit("GRID.text", grep=TRUE, gp=gpar(fontsize=4.5))

但是,现在我的轴也发生了变化,这不是我想要的。


我相信有几种选择可以实现我想要的,其中至少有两种应该相当容易实现:

  1. 将对象从grid.gedit()保存到p1然后p1 + theme(text = element_text(size=2))。我的问题是:我不知道如何从 grid.gedit() 中保存对象。 这是我的首选。

  2. 在应用 grid.gedit() 之前转到正确的视口(viewport)。我试过了,但仍然更改了标签(我想要的)和轴文本(我不想要的)。

  3. 以某种方式从存储的图中提取标签的 data.frame(本例中为 p)以应用我首先提供的解决方案。

最佳答案

您可以在构建后检查(/修改)绘图,

library(ggplot2)
p <- ggplot(mtcars, aes(x=wt, y=mpg)) +
geom_text(label=rownames(mtcars))

g <- ggplot_build(p)
# original data is in str(g$plot$data)

# but it's easier to process the data for rendering
g[["data"]][[1]][["size"]] <- 5
g[["data"]][[1]][["colour"]] <- "red"

gg <- ggplot_gtable(g)
grid.newpage()
grid.draw(gg)

enter image description here

关于r - 在不知道 ggplot2 中的标签的情况下更改标签的字体大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37944410/

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