【问题标题】:Plot multiple line plot with table from a data frame使用数据框中的表格绘制多线图
【发布时间】:2015-07-16 01:11:54
【问题描述】:

我正在尝试绘制一个多线图来表示频率表,以便在沿 x 轴的图表下方,它还为我提供了表中每个系列的实际值。 例如:

如果要在 x 轴上绘制 3 个值 - 1,2,3;
A系列的频率为1-2次、2-5次、3-7次;
系列 B 的频率为 1 - 7 次、2 - 5 次、3 - 3 次。

然后在折线图的x轴下,形成表格,使得两个系列的频率都列在每个x值下。

虽然我可以使用 ggplot 创建多线图,但我不确定如何添加表格。

【问题讨论】:

  • 一个可重现的例子会很棒,以及你迄今为止尝试过的(例如 ggplot 代码)。因此,您正试图在 x 轴下方“绘制”一个频率表作为图表的一部分?为什么没有(图片)图表和下面的(文本)表格?
  • 那是因为我正在写一个统计摘要,其中包含许多图表和表格。这是一种很好的方式,可以整齐地放置所有内容,而无需在文档中创建长卷轴。 excel 还可以选择创建折线图,您可以在其中添加频率。同一图表中的表。所以我想知道这种效果在 R 中是否可能。

标签: r plot graph line


【解决方案1】:

你可以这样做:

df <- data.frame(group = c("A", "A", "A", "B", "B", "B"), 
                 x = c(1, 2, 3, 1, 2, 3), 
                 y = c(2, 5, 7, 7, 5, 3))
library(ggplot2)
plt <- ggplot(data = df, aes(x = x, y = y, group = group, colour = group)) +
  geom_line() +
  geom_point()
tbl <- tableGrob(t(df), rows = NULL,
                 theme = ttheme_minimal())
# Plot and table together
library(gridExtra)
grid.arrange(plt, tbl,
             nrow = 2,
             as.table = TRUE,
             heights = c(3,1))

【讨论】:

  • 非常感谢您的帮助!
  • 太棒了! @user3816784 如果这个或任何答案已经解决了您的问题,请通过单击复选标记考虑 accepting it。这向更广泛的社区表明您已经找到了解决方案,并为回答者和您自己提供了一些声誉。没有义务这样做。
猜你喜欢
  • 2018-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-18
  • 2016-02-05
  • 2022-11-12
  • 2021-11-24
相关资源
最近更新 更多