在同一个 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))
我想这个问题相当简单,但我有一个包含 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))