我的约会日期为Caused by: java.lang.NullPointerException: null
at es.xx.hos.xx.rest.validators.CifValidator.isValid(CifValidator.java:16) ~[classes/:na]
at es.xx.hos.xx.rest.validators.CifValidator.isValid(CifValidator.java:7) ~[classes/:na]
当我绘制时,我需要将其保留在x轴上。但是x轴正在重新排序。
我尝试了因子方法,然后也得到了相同的结果:
'Dec-17','Jan-18','Feb-18','Mar-18','Apr-18','May-18','Jun-18','Jul-18','Aug-18'
但是,我需要遵循从> data_$Dates
[1] Apr-18 Aug-18 Dec-17 Feb-18 Jan-18 Jul-18 Jun-18 Mar-18 May-18
9 Levels: Apr-18 Aug-18 Dec-17 Feb-18 Jan-18 Jul-18 Jun-18 ... May-18
而不是Dec-17
开始的相同格式
我的代码:
Apr-18
答案 0 :(得分:1)
您正在按字母顺序重新排序。您可能想要将数据转换为这样解释的数据类型(如@Wimpel在其评论中建议的那样)。另外,由于只有9个唯一值,您可能需要手动重新排序:
date_$Dates <- factor(date_$Dates, levels = c("Dec-17", "Jan-18", "Feb-18"))
(您必须进行扩展以包括我省略的六个月)。
答案 1 :(得分:1)
让我们首先生成一些样本数据:
set.seed(123)
data_ <- data.frame(Expected = sample(1:10, 9), Dates = c('Dec-17','Jan-18',
'Feb-18','Mar-18', 'Apr-18', 'May-18','Jun-18', 'Jul-18', 'Aug-18'),
stringsAsFactors = FALSE)
正如@Wimpel所说,最自然的方法是将数据列转换为数据类型列。 Here,您可能会找到有关此方法的全面讨论。最便捷的解决方案之一是使用lubridate软件包:
library(lubridate)
data_$Dates_data <- as.Date(parse_date_time(data_$Dates, "m-y"))
现在您有一个日期格式的列用作x数据,并且可以根据自己的喜好调整x标签的格式(同样,如@Wimpel所示):
pl_1 <- ggplot(data = data_, aes(x = Dates_data, y = Expected,
group = 1)) +
geom_line() +
geom_point() +
scale_x_date(date_labels = "%b-%y", date_breaks = "1 month")
plot(pl_1)