
求大家帮忙解答一下 把月份转化成因子后横坐标只有月份了 就没图了
为了让月份按顺序显示,不能直接将月份设置为因子。需要进行如下处理:
1. 首先为月份创建一个序数,如:
r
months <- c("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
month_num <- 1:12
2. 将月份和序数合并为一个数据框:
r
month_df <- data.frame(months, month_num)
3. 设置month_num为图形的x坐标,月份month作为x轴的标签:
r
plot(month_num, y, type = "line", xlab = "Month", xaxt = "n")
axis(1, at = month_num, labels = month_df$months)
4. 这样月份就会按序显示在x轴上,且仍保留月份的名称。
完整代码如下:
r
months <- c("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
month_num <- 1:12
month_df <- data.frame(months, month_num)
y <- rnorm(12) # 生成随意y值
plot(month_num, y, type = "line", xlab = "Month", xaxt = "n")
axis(1, at = month_num, labels = month_df$months)