У меня есть этот df, и я создал линейный график. Я пытаюсь построить только даты с 4 самыми высокими значениями.
dput(df)
structure(list(Date = c("2021-06-22", "2021-06-23", "2021-06-24",
"2021-06-25", "2021-06-26", "2021-06-27", "2021-06-28", "2021-06-29",
"2021-06-30", "2021-07-01", "2021-07-02", "2021-07-03", "2021-07-04",
"2021-07-05", "2021-07-06", "2021-07-07", "2021-07-08", "2021-07-09",
"2021-07-10", "2021-07-11", "2021-07-12", "2021-07-13", "2021-07-14",
"2021-07-15", "2021-07-16", "2021-07-17", "2021-07-18", "2021-07-19",
"2021-07-20", "2021-07-21"), Volume = c(30L, 30L, 30L, 30L, 30L,
30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L,
27L, 27L, 27L, 27L, 27L, 27L, 27L, 30L, 30L, 30L, 31L, 30L),
Percentage = c(6.67, 3.33, 10, 10, 3.33, 3.33, 6.67, 10,
3.33, 6.67, 10, 13.33, 13.33, 10, 6.67, 6.67, 10, 10, 3.7,
3.7, 3.7, 3.7, 11.11, 7.41, 11.11, 10, 13.33, 13.33, 12.9,
10)), row.names = c(NA, -30L), class = c("tbl_df", "tbl",
"data.frame"))
это линейная диаграмма
ggplot(data = df, aes(x = Date, y = Percentage,group=1)) +
geom_line() + geom_point()
Если есть связи по наивысшим значениям,
Есть несколько повторяющихся элементов, я не уверен, что вы действительно хотели. Может быть
df %>% group_by(Volume) %>% slice_max(n = 4, order_by = Percentage) %>% ungroup %>% mutate(Date = as.Date(Date)) %>% ggplot(aes(x = Date, y = Percentage,group=1)) + geom_line() + geom_point()
на моей линейной диаграмме есть несколько точек, которые находятся в самой высокой точке графика и, таким образом, указывают на более высокий процент. Я хотел бы подчеркнуть даты, которые имеют 4 самых высоких процента, показывая только эти 4 даты на оси x и никакие другие даты. По сути, я хочу, чтобы мои линейные графики были такими, какие они есть, и по оси x отображались только 4 даты, которые соответствуют 4 самым высоким процентам @akrun