在R中用多列绘制表格

时间:2018-07-10 01:48:44

标签: r ggplot2

我有一个数据框,我想绘制一个表格,该表格使用R的图形简单地在表格中显示输出:

看起来像这样,但是在图形窗口中:

Letter   Color   Age  Height
  A        10      7     11 
  B        8       6     10
  C        9       5     4

我认为我可以使用:

ggplot(df,aes(x=colnames(df))+geom_bar('identity'))

但是我要在表格中填充y坐标/值吗?

1 个答案:

答案 0 :(得分:3)

我们可以使用gather将其重塑为“长”格式,然后使用geom_bar进行条形图绘制

library(tidyverse)
library(ggplot2)
df %>% 
  gather(key, val, -Letter) %>% 
  ggplot(aes(x = Letter, y = val, fill = key)) + 
             geom_bar(stat = 'identity')

或使用base R

barplot(`colnames<-`(t(df[-1]), df$Letter), legend = TRUE,
              col = c('red', 'blue', 'green'))

数据

df <- structure(list(Letter = c("A", "B", "C"), Color = c(10L, 8L, 
9L), Age = c(7L, 6L, 5L), Height = c(11L, 10L, 4L)), .Names = c("Letter", 
"Color", "Age", "Height"), class = "data.frame", row.names = c(NA, 
 -3L))