根据另一列更改中断数量和 x 轴标签

问题描述 投票:0回答:0

我的数据框在 x 轴上有太多变量,因此我想在 x 轴标签中引入中断,并根据另一列更改这些标签。我在这里找到了一个解决方案is-it-possible-to-have-a-continuous-line-with-geom-line-across-facets-with-facete,当我设置breaks =1但当我尝试时它有效添加多个中断我收到错误:

以下是根据链接示例修改的。

library(patchwork)
library(ggplot2)
library(scales)

df_graph_data = data.frame(   year = c(
 rep.int("2020", times = 11), 
 rep.int("2021", times = 12), 
 rep.int("2022", times = 3)   ),   month_name = c(
 "Feburary", "March", "April", "May", "June", "July",
 "August", "September", "October", "November", "December",
 "January", "Feburary", "March", "April", "May", "June", "July",
 "August", "September", "October", "November", "December",
 "January", "Feburary", "March"   ),   month_number = c(
 "02", "03", "04", "05", "06", "07",
 "08", "09", "10", "11", "12", "01",
 "02", "03", "04", "05", "06", "07",
 "08", "09", "10", "11", "12", "01",
 "02", "03"   ),   number_of_queries = c(
 484819, 576697, 843015, 925175,
 1102853, 889212, 835706, 774622,
 701338, 850297, 1046064, 1273363,
 958868, 1088284, 1151606, 1666950,
 2025731, 2731704, 2429019, 3228395,
 3204915, 2612807, 2811946, 3053788,
 2589273, 2305433   ) )

df_graph_data$rownum = 1:nrow(df_graph_data)

windows()
graph <- ggplot(df_graph_data) +   geom_line(aes(x = rownum,
y = number_of_queries),   size = 1,   colour = "blue",   linetype =
"solid"   ) +    scale_x_continuous(
 breaks = seq(
   min(df_graph_data$rownum),
   max(df_graph_data$rownum),
   by = 1
 ),
 labels = df_graph_data$month_number   )

graph

这会产生这个图表

我拥有的数据集要大得多,我需要 Breaks = 10,但是当我尝试这样做时,我收到以下错误:

breaks
labels
必须具有相同的长度。

我想知道是否有一种方法可以根据一列引入中断,然后根据相应的列更改标签。例如,如果中断显示 rownum 10、20、30,则标签应该是与该 rownum 对应的month_name

r ggplot2 label x-axis
© www.soinside.com 2019 - 2024. All rights reserved.