我想在ggplot的顶部添加第二个x轴。第一个x轴显示一年中的某一天,第二个x轴是根据第一个x轴日期的月份。我试过sec.axis但是没有用。
b Alt
148 1300
122 1300
130 1300
250 2000
300 2000
244 2000
MonthId <- c("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Agu",
"Sep",
"Oct", "Nov", "Dec")
FirstDay <- c(1, 32, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335,365)
MiddleDay <- c(16, 45, 75, 105, 136, 166, 197, 228, 258, 289, 319, 350)
g.b <- ggplot(CDD, aes(factor(Alt), b))
g.b+
scale_x_continuous(breaks = unique( MiddleDay),
sec.axis = sec_axis(~ ., breaks = unique( MiddleDay)))
答案 0 :(得分:4)
我不确定我根据您的数据和描述了解您想要绘制的内容。要绘制主x轴中的日期和辅助中的月份,您可以使用以下内容:
假设您有以下数据:
JOIN
然后将MonthId <- c("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Agu", "Sep", "Oct", "Nov", "Dec")
MiddleDay <- c(16, 45, 75, 105, 136, 166, 197, 228, 258, 289, 319, 350)
b <- c(148, 122, 130, 250, 300, 244, 148, 122, 130, 250, 300, 244)
df <- data.frame(MonthId, MiddleDay, b)
与所需的sec_axis(~ . ...
和breaks
:
levels