我正在尝试在图的外部添加文本(使用ggplot)。文本都将与情节无关。
<script>
import axios from 'axios';
export default {
created() {
axios.post()
}
}
</script>
我希望剧情看起来像这样。如果可能的话,我希望在变量周围画一个框。
答案 0 :(得分:2)
您可以使用grobs添加文本和图形。首先,您需要在右侧有一些可用空间。当您扩大主题的边距时,这是可能的。这里的命令是:theme(plot.margin = unit(c(1,5,1,1),"cm"))
,之后您必须声明要插入的内容。
以增加的余量绘制图(由于背景是白色,所以实际上看不到增加的余量...但是在那里):
在您的情况下,我插入了一个表,因为它更容易。您可以使用grobs
插入文本,表格或形状。首先定义表:
mytable<-cbind(c("variable_1","variable_2","variable_3"),c(0.5,1.5,3.5))
使用annotion_costum()
ggplot可以将对象作为图形插入绘图中。由于我们的保证金足够高,因此您可以在图表外部添加表格。
添加表格的图:
最后一步,我在桌子周围画了一个矩形。完整的代码是:
library(gridExtra)
library(grid)
A <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
B <- c(10, 9, 8, 7, 6, 5, 4, 3, 2, 1)
C <- data.frame(A, B)
mytable<-cbind(c("variable_1","variable_2","variable_3"),c(0.5,1.5,3.5))
ggplot(data = C) + geom_point(mapping = aes(x = A, y = B)) +
labs(title = "Plot") + theme(plot.title = element_text(hjust = 0.5))+
theme(plot.margin = unit(c(1,5,1,1),"cm"))+
annotation_custom(tableGrob(mytable, rows=NULL),
xmin=unit(11.5,"npc"),xmax = unit(14,"npc"), ymin=3.7, ymax=7)
grid.rect(x=unit(0.83,"npc"),y=unit(0.5,"npc") ,width = unit(0.22,"npc"), height = unit(0.16,"npc"), gp = gpar(lwd = 3, col="black", fill = NA))
最终照片: