You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ggplot绘制每周考勤汇总数据折线/柱状图异常问题求助

问题原因及解决方法

1. 数据集构造错误

你写的df <- as.data.frame(week,att)不符合R的函数参数规则,as.data.frame()的第二个参数是行名配置项,你这么写生成的数据框只有week一列,根本没有存入考勤值att,这是你画图异常的核心原因。
正确的数据集构造代码:

week <- c("09-01-20","09-07-20", "09-21-20")
att <- c(80, 140, 500)
df <- data.frame(week = week, att = att)

2. 原有绘图代码的错误点

  • 第一段代码里y="att"加了引号,相当于把固定字符串"att"作为y轴值,所以所有柱子/点的高度完全相同
  • geom_line对离散型的x轴(你这里的week是字符串分类变量)需要额外指定group = 1参数才能正常连线,且geom_line不需要fill参数,fill是面积/柱子的填充配置项
  • geom_bar默认统计的是x轴类别的出现次数,要直接用att列的数值作为柱子高度,需要指定stat = "identity"

3. 可正常运行的绘图代码

折线图示例

library(ggplot2)
ggplot(df, aes(x = week, y = att, group = 1)) +
  geom_line(color = "blue") +
  geom_point() # 加数据点更清晰

柱状图示例

ggplot(df, aes(x = week, y = att)) +
  geom_bar(stat = "identity", fill = "steelblue")

内容的提问来源于stack exchange,提问作者xian_q1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 00:15:08