Строка, которую вы даете split
, является строковой формой регулярного выражения, поэтому:
private void getId(String pdfName){
String[]tokens = pdfName.split("[\\-.]");
}
Это означает, что для разделения на любой символ в []
(нам нужно убежать -
с обратным слэшем, потому что он особенный внутри []
, и, конечно, нам нужно избежать обратного слэша, потому что это строка). (Обратно, .
обычно является специальным, но не является специальным внутри []
.)
Для вашей первой проблемы, я бы попробовал expand_limits()
. Если у вас есть столбец только для времени, то должно сработать что-то вроде этого:
ggplot(...) +
geom_point(...) +
expand_limits(x =c(hms::as.hms("00:00:00"),hms::as.hms("23:59:00")))
альтернативно, вам нужно определить дату и время для пределы.
Вот две альтернативы с маркировкой сеанса именем пользователя
# create a named vector for the legend
user <- user_tmp %>% pull(username)
names(user) <- user_tmp$SessionId
# alternative one multiple days in a chart
# own column for times needs to be converted into a time
DATA <- DATA %>%
mutate(TimeLastUpdate = hms::as.hms(TimeLastUpdate))
# alternative one plot with times column
DATA %>%
ggplot(aes(x = TimeLastUpdate, y = TotalBandwidth, color =
SessionIdFac)) +
geom_line() +
expand_limits(x =c(hms::as.hms("00:00:00"),hms::as.hms("23:59:00"))) + #expand limits on the time
scale_color_discrete(labels = user) # labels the sessions with the user name
# alternative 2 plotting one day with datetime column
DATA %>%
filter(DateLastUpdate == "2019-03-22") %>% # filter on the day
ggplot(aes(x = DateTimeLastUpdate, y = TotalBandwidth, color = SessionIdFac )) +
geom_line() +
expand_limits(x = c(as.POSIXct("2019-03-22 00:00:00"),
as.POSIXct("2019-03-22 23:59:00"))) + # expand limits for the day
scale_color_discrete(label = user) # label the sessions with user name
.