gpt4 book ai didi

r - ggplot逐年比较

转载 作者:行者123 更新时间:2023-12-04 18:46:21 25 4
gpt4 key购买 nike

我要生产一张图比较不同年份获得的数据 .目标是拥有 x 轴上的 12 个月 和绘图 每个年份的值不同的行 .

我正在使用的数据框是下一个:

   Month             Marg            Fiscal.Year
1 2009-04-01 20904494 2009
2 2009-05-01 43301981 2009
3 2009-06-01 14004552 2009
...
38 2012-05-01 58343271 2012
39 2012-06-01 38723765 2012
40 2012-07-01 77246753 2012

我的情节代码是:
g <- ggplot(data = data, stat="identity", aes(x = Month, y = Marg)) + 
geom_line() +
geom_point() +
geom_smooth(method = "loess") +
scale_x_date(breaks = "1 month", labels = date_format("%b"));

但这个情节在 x 轴 48 个月 从 2009 年到 2012 年,以及 一行在它显示每个值(每个月的每一年都没有不同的线)。

你能帮我解决这个问题吗? (我是 R 的新手,任何帮助将不胜感激)。

预先感谢您的回答!

最佳答案

library(ggplot2)
# Sample data
data <- read.table(text = "Month Marg Fiscal.Year
2009-01-01 20904494 2009
2009-02-01 30904494 2009
2009-03-01 40904494 2009
2009-04-01 30904494 2009
2009-05-01 43301981 2009
2009-06-01 14004552 2009
2009-07-01 24004552 2009
2009-08-01 34004552 2009
2009-09-01 44004552 2009
2009-10-01 54004552 2009
2009-11-01 64004552 2009
2009-12-01 44004552 2009
2012-02-01 58343271 2012
2012-03-01 68343271 2012
2012-04-01 58343271 2012
2012-05-01 58343271 2012
2012-06-01 38723765 2012
2012-07-01 77246753 2012",
header=TRUE, sep="", nrows=18)
data$MonthN <- as.numeric(format(as.Date(data$Month),"%m")) # Month's number
data$Month <- months(as.Date(data$Month), abbreviate=TRUE) # Month's abbr.

g <- ggplot(data = data, aes(x = MonthN, y = Marg, group = Fiscal.Year, colour=Fiscal.Year)) +
geom_line() +
geom_point() +
scale_x_discrete(breaks = data$MonthN, labels = data$Month)
g

enter image description here

关于r - ggplot逐年比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13520639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com