gpt4 book ai didi

r - 在 ggplot2 中的图形下方添加值表

转载 作者:行者123 更新时间:2023-12-01 13:39:57 24 4
gpt4 key购买 nike

样本数据:

### Data
df <- data.frame(year = seq(as.Date("1998/1/1"), as.Date("2012/1/1"), "years"),
ton = sample(200:500, 15, replace = TRUE),
trend = sample(50:100, 15, replace = TRUE),
count = sample(100:200, 15, replace = TRUE))

### Load the needed libraries
library(ggplot2)
library(scales)
library(grid)
library(gridExtra)

### Make a plot
plot1 <- ggplot(data = df, aes(x = year, y = ton)) + geom_bar(stat = "identity") +
scale_x_date(breaks = df$year, labels = date_format("%Y")) +
theme_bw()

plot2 <- ggplot(data = df, aes(x = year, y = trend)) + geom_line() +
geom_point(shape = 21, size = 4, fill = "white") +
scale_x_date(breaks = df$year, labels = date_format("%Y")) +
theme_bw()

我使用 grid.arrange 合并了两个图,这里是语法:
grid.arrange(plot1, plot2, nrow = 2, top = "Sample data trend")

我尝试了以下代码来制作表格( yearcount 变量,但结果不好。
### Create new dataframe for the table
df1 <- data.frame(count = df$count,
row.names = df$year)
df1 <- as.data.frame(t(df1))

### Add table below the graph
tt <- ttheme_default(colhead=list(fg_params = list(parse=TRUE)))
tbl <- tableGrob(df1, rows=NULL, theme=tt)
grid.arrange(plot1, plot2, tbl,
nrow = 3,
as.table = TRUE)

上述语法的结果:
enter image description here

问题 : 如何使它适合图形区域,以及如何使表格更接近折线图以使空白空间最小化?如果有任何方法可以自定义它?

谢谢你。

最佳答案

tt <- ttheme_default(colhead=list(fg_params = list(parse=TRUE)),
base_size = 10,
padding = unit(c(2, 4), "mm"))
tbl <- tableGrob(df1, rows=NULL, theme=tt)

png("E:/temp/test.png", width = 1000, height = 1000)
grid.arrange(plot1, plot2, tbl,
nrow = 3, heights = c(2, 2, 0.5))
dev.off()

resulting plot

关于r - 在 ggplot2 中的图形下方添加值表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41164675/

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