好的,所以这是一个后续问题: How to format date on x-axis to month and year in R
我知道在一张图表上绘制两条线存在很多问题,但是我似乎无法对数据进行任何处理。我有11月5月至11月的数据。我正在尝试在同一张图表上绘制两个区域的数据,同时仍显示每年的月份中断/间隔。
我可以绘制两条线,但这看起来好像我拥有全部12个月的数据,并且没有显示差距。
使用此代码:
ggplot(Rainmean, aes(x= Date , y= mean_rain, group = Zone, color = Zone))+
geom_line()+
geom_point()+
labs(title = "Average Monthly Rainfall", y = "Rainfall (in)", x = "Date") +
theme_bw() +
theme(panel.border = element_blank(), panel.grid.major = element_blank(),
panel.grid.minor = element_blank(), axis.line = element_line(colour = "black"),
axis.text.x = element_text(angle = 0)) +
scale_x_date(date_breaks = '1 year', date_labels = "%Y")
我明白了:
使用相同的代码并添加 group = year(Date)来尝试使用以下代码破坏y轴:
ggplot(Rainmean, aes(x= Date , y= mean_rain, group = year(Date), group = Zone, color = Zone))+
geom_line()+
geom_point()+
labs(title = "Average Monthly Rainfall", y = "Rainfall (in)", x = "Date") +
theme_bw() +
theme(panel.border = element_blank(), panel.grid.major = element_blank(),
panel.grid.minor = element_blank(), axis.line = element_line(colour = "black"),
axis.text.x = element_text(angle = 0)) +
scale_x_date(date_breaks = '1 year', date_labels = "%Y")
这条线稍微靠近一点,但是看起来它只是合并了我的区域的线,而不是显示两条不同的线。
因此,为了清楚起见,我正在尝试将这两幅图并用两条线将它们合并为一个图形。.一个用于B区,一个用于D区。
我有以下数据:
structure(list(Date = structure(c(14000, 14000, 14031, 14031,
14061, 14061, 14092, 14092, 14123, 14123, 14153, 14153, 14184,
14184, 14365, 14365, 14396, 14396, 14426, 14426, 14457, 14457,
14488, 14488, 14518, 14518, 14549, 14549, 14730, 14730, 14761,
14761, 14791, 14791, 14822, 14822, 14853, 14853, 14883, 14883,
14914, 14914, 15095, 15095, 15126, 15126, 15156, 15156, 15187,
15187, 15218, 15218, 15248, 15248, 15279, 15279, 15461, 15461,
15492, 15492, 15522, 15522, 15553, 15553, 15584, 15584, 15614,
15614, 15645, 15645, 15826, 15826, 15857, 15857, 15887, 15887,
15918, 15918, 15949, 15949, 15979, 15979, 16010, 16010, 16191,
16191, 16222, 16222, 16252, 16252, 16283, 16283, 16314, 16314,
16344, 16344, 16375, 16375, 16556, 16556, 16587, 16587, 16617,
16617, 16648, 16648, 16679, 16679, 16709, 16709, 16740, 16740,
16953, 16953, 16983, 16983, 17014, 17014, 17045, 17045, 17075,
17075, 17106, 17106, 17318, 17318, 17348, 17348, 17379, 17379,
17410, 17410, 17440, 17440, 17471, 17471, 17683, 17683, 17713,
17713, 17744, 17744, 17775, 17775, 17805, 17805, 17836, 17836
), class = "Date"), Zone = structure(c(1L, 2L, 1L, 2L, 1L, 2L,
1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L,
1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L,
1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L,
1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L,
1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L,
1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L,
1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L,
1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L,
1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L), .Label = c("B",
"D"), class = "factor"), mean_rain = c(0.0287096774193548, 0.0464516129032258,
0.182333333333333, 0.206333333333333, 0.175806451612903, 0.112258064516129,
0.529354838709677, 0.431612903225806, 0.0463333333333333, 0.104333333333333,
0.077741935483871, 0.0570967741935484, 0.0816666666666667, 0.0483333333333333,
0.143225806451613, 0.143225806451613, 0.126666666666667, 0.219,
0.197741935483871, 0.253548387096774, 0.221290322580645, 0.231290322580645,
0.254, 0.105, 0.0609677419354839, 0.0629032258064516, 0.0556666666666667,
0.0573333333333333, 0.16258064516129, 0.211935483870968, 0.213666666666667,
0.297333333333333, 0.106129032258065, 0.18, 0.180967741935484,
0.252903225806452, 0.162333333333333, 0.104666666666667, 0.00548387096774194,
0.00483870967741936, 0.0316666666666667, 0.051, 0.0196774193548387,
0.0167741935483871, 0.300666666666667, 0.0813333333333333, 0.160967741935484,
0.12, 0.111612903225806, 0.10741935483871, 0.180666666666667,
0.171, 0.0793548387096774, 0.087741935483871, 0.0383333333333333,
0.0803333333333333, 0.271935483870968, 0.31258064516129, 0.579333333333333,
0.754, 0.369677419354839, 0.351612903225806, 0.344193548387097,
0.368064516129032, 0.136666666666667, 0.233666666666667, 0.08,
0.082258064516129, 0.008, 0.00766666666666667, 0.0774193548387097,
0.05, 0.315333333333333, 0.277, 0.41258064516129, 0.49, 0.4,
0.364193548387097, 0.140666666666667, 0.120666666666667, 0.0190322580645161,
0.0158064516129032, 0.15, 0.137333333333333, 0.224516129032258,
0.294838709677419, 0.113666666666667, 0.189, 0.119677419354839,
0.105483870967742, 0.234193548387097, 0.205806451612903, 0.421666666666667,
0.262, 0.0370967741935484, 0.0338709677419355, 0.127, 0.0933333333333333,
0.118064516129032, 0.151612903225806, 0.127333333333333, 0.237666666666667,
0.233548387096774, 0.325161290322581, 0.203548387096774, 0.255161290322581,
0.118333333333333, 0.132, 0.150967741935484, 0.0667741935483871,
0.114333333333333, 0.0746666666666667, 0.207333333333333, 0.153666666666667,
0.121935483870968, 0.2, 0.360645161290323, 0.543548387096774,
0.220666666666667, 0.258333333333333, 0.105161290322581, 0.00258064516129032,
0.00333333333333333, 0.00166666666666667, 0.328666666666667,
0.345666666666667, 0.0787096774193548, 0.249677419354839, 0.211612903225806,
0.179677419354839, 0.169666666666667, 0.135333333333333, 0.0796774193548387,
0.0441935483870968, 0.0343333333333333, 0.0603333333333333, 0.338333333333333,
0.223, 0.311612903225806, 0.350645161290323, 0.491935483870968,
0.239032258064516, 0.083, 0.088, 0.107741935483871, 0.105161290322581,
0.215, 0.131666666666667)), row.names = c(NA, -148L), class = c("tbl_df",
"tbl", "data.frame"))
有人可以帮我指出正确的方向吗?
答案 0 :(得分:1)
您可以通过将C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin
和year(Date)
的交互映射到Zone
上来获得所需的结果:
group