【问题标题】:Creating A Bar Chart using ggplot with a Manual dataframe one row 5 columns使用 ggplot 和手动数据框一行 5 列创建条形图
【发布时间】:2025-12-24 07:25:16
【问题描述】:
这是我的数据框。我找不到使用 ggplot 构造条形图的方法,其中列名和 x 作为指示的值。
【问题讨论】:
-
bk2nt,欢迎来到 SO!请不要发布代码/数据/错误的图像:它不能被复制或搜索 (SEO),它会破坏屏幕阅读器,并且它可能不适合某些移动设备。参考:meta.*.com/a/285557(和xkcd.com/2116)。请直接包含代码、控制台输出或数据(例如,dput(head(x)) 或 data.frame(...))。
标签:
r
dataframe
ggplot2
data-visualization
data-wrangling
【解决方案1】:
如 cmets 所述,发布代码/数据/错误图像是一种不好的做法。我只复制了数据框的前两个条目。
一般来说,对于 ggplot(和整个 tidyverse)观察应该是行而不是列。因此,您首先需要转换您的数据,然后绘图相当简单。
library(tidyverse)
df1 <- data.frame(white = 48.8, asian = 40)
df1 %>%
t() %>% # convert columns to rows
as.data.frame() %>% # need to change it to a data frame as t() converts it to a matrix
rownames_to_column("id") %>%
ggplot(aes(x = id, y = V1)) +
geom_col()
导致: