【问题标题】:How to converte data frame to stacked barplot? (R)如何将数据框转换为堆积条形图? (右)
【发布时间】:2021-07-19 09:14:28
【问题描述】:

我有这个矩阵

()

我转换为数据框。 但现在我想做堆积条形图 - 在第一个栏中将是:4 R、3 S 和 2 T(百分比),在第二个栏中将是:31 R、10 H....

我不知道如何为每一列制作栏..

谢谢!

【问题讨论】:

标签: r bar-chart stacked


【解决方案1】:

假设您的数据类似于

df <- data.frame(
  V1 = rnorm(5),
  V2 = rnorm(5),
  V3 = rnorm(5),
  V4 = rnorm(5),
  row.names = sample(LETTERS, 5)
)

df
          V1         V2         V3          V4
A -0.9455398 -0.5763650  0.7669187  0.38646398
C  1.0338468  0.3420015  0.4372878  0.01919166
J  1.5157619  0.2737368  0.0161940  1.81942467
O  0.3018475  1.4323012  0.9877099 -1.54101336
P -1.7783232  0.8032201 -0.8664866  0.34663143

你可以这样做

library(tidyverse)
df %>% rownames_to_column("ID") %>% pivot_longer(!ID) %>%
  ggplot() +
  geom_col(aes(x = ID, y = value, fill = name), position = 'dodge')

得到这样的图表

更改position,您可能会得到您想要的图表。

【讨论】:

    猜你喜欢
    • 2017-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-23
    相关资源
    最近更新 更多