【问题标题】: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()

导致:

【讨论】: