在同一个 R 图中绘制不同的列

Plotting different columns in same R graph

我想这个问题相当简单,但我有一个包含 3 列(A、B 和 C)的数据框。 A是名字,B有数值,C也有数值。每个B和C的值与A

中对应的行相关 我需要绘制一个条形图,以便观察彼此相邻的每个 A、B 条和 C 条。

非常感谢!

这是您可以处理的 ggplot2 示例:

# creating the dataframe
A <- c("First", "Second", "Third", "Fourth")
B <- c(44, 54, 32, 45)
C <- c(23, 12, 45, 34)

df <- data.frame(A, B, C)

# creating the plot with ggplot2

library(tidyverse)

df %>% 
  mutate(A = as_factor(A)) %>% 
  pivot_longer(
    cols=-A,
    names_to = "Numeric value",
    values_to = "value"
  ) %>% 
  ggplot(aes(x=A, y=value, fill=`Numeric value`))+
  geom_col(position = position_dodge())

您可以使用 one-liner 使用低级图形来执行此操作。

barplot(t(df[-1]), beside=TRUE, names.arg=df$A, col=2:3, legend.text=names(df)[-1])


数据(借自TarJae):

df <- structure(list(A = c("First", "Second", "Third", "Fourth"), B = c(44, 
54, 32, 45), C = c(23, 12, 45, 34)), class = "data.frame", row.names = c(NA, 
-4L))