我正在做一个有两个面的线条图。以下是数据集:
to_plot <- structure(list(date = structure(c(12600, 12600, 12600, 12600,
12631, 12631, 12631, 12631, 12662, 12662, 12662, 12662, 12692,
12692, 12692, 12692, 12723, 12723, 12723, 12723, 12753, 12753,
12753, 12753, 12784, 12784, 12784, 12784, 12815, 12815, 12815,
12815, 12843, 12843, 12843, 12843, 12874, 12874, 12874, 12874,
12904, 12904, 12904, 12904, 12935, 12935, 12935, 12935, 12965,
12965, 12965, 12965, 12996, 12996, 12996, 12996, 13027, 13027,
13027, 13027, 13057, 13057, 13057, 13057, 13088, 13088, 13088,
13088, 13118, 13118, 13118, 13118, 16344, 16344, 16344, 16344,
16375, 16375, 16375, 16375, 16405, 16405, 16405, 16405, 16436,
16436, 16436, 16436, 16467, 16467, 16467, 16467, 16495, 16495,
16495, 16495, 16526, 16526, 16526, 16526, 16556, 16556, 16556,
16556, 16587, 16587, 16587, 16587, 16617, 16617, 16617, 16617,
16648, 16648, 16648, 16648, 16679, 16679, 16679, 16679, 16709,
16709, 16709, 16709, 16740, 16740, 16740, 16740, 16770, 16770,
16770, 16770, 16801, 16801, 16801, 16801, 16832, 16832, 16832,
16832, 16861, 16861, 16861, 16861, 16892, 16892, 16892, 16892,
16922, 16922, 16922, 16922, 16953, 16953, 16953, 16953, 16983,
16983, 16983, 16983, 17014, 17014, 17014, 17014, 17045, 17045,
17045, 17045, 17075, 17075, 17075, 17075, 17106, 17106, 17106,
17106, 17136, 17136, 17136, 17136, 17167, 17167, 17167, 17167,
17198, 17198, 17198, 17198, 17226, 17226, 17226, 17226, 17257,
17257, 17257, 17257, 17287, 17287, 17287, 17287, 17318, 17318,
17318, 17318, 17348, 17348, 17348, 17348, 17379, 17379, 17379,
17379, 17410, 17410, 17410, 17410, 17440, 17440, 17440, 17440
), class = "Date"), wave = c("Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV", "Pegida", "Hartz_IV", "Pegida", "Hartz_IV", "Pegida",
"Hartz_IV"), type = c("Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity", "Issue salience", "Issue salience", "Party popularity",
"Party popularity"), value = c(NA, 71.3381555153707, NA, 9.91085474567383,
NA, 78.1039755351682, NA, 11.2076455256299, NA, 73.9750445632799,
NA, 10.0549882168107, NA, 72.5748502994012, NA, 9.25831202046036,
NA, 71.8585622443016, NA, 8.41949778434269, NA, 68.7237866986219,
NA, 7.89902280130293, NA, 71.9364161849711, NA, 7.74731823599523,
NA, 79.7647058823529, NA, 5.15384615384615, NA, 87.2630331753554,
NA, 6.97674418604651, NA, 80.3149606299213, NA, 7.27708916433427,
NA, 79.9878345498783, NA, 9.35085007727975, NA, 78.6594529606252,
NA, 13.2875143184422, NA, 75.5769792579609, NA, 16.243847027641,
NA, 79.1672711446395, NA, 13.2208418320044, NA, 77.2151898734177,
NA, 10.7784431137725, NA, 70.7051032333463, NA, 9.9642431466031,
NA, 71.5869311551925, NA, 12.0183136207554, NA, 74.00828892836,
NA, 9.932785660941, 20.4423022398639, NA, 8.86486486486486, NA,
29.1895010095183, NA, 5.49249359209081, NA, 31.1304347826087,
NA, 4.83056957462149, NA, 42.4705882352941, NA, 5.56177678238149,
NA, 32.7455919395466, NA, 6.75039246467818, NA, 28.3888228299643,
NA, 5.50493545937737, NA, 44.1956393635828, NA, 4.93920972644377,
NA, 36.2768496420048, NA, 3.50467289719626, NA, 30.7692307692308,
NA, 4.04485382458951, NA, 48.7492373398414, NA, 3.04975922953451,
NA, 72.1604938271605, NA, 3.69761709120789, NA, 81.8697729988053,
NA, 5.14764565043895, NA, 85.4637336504162, NA, 6.75729708116753,
NA, 80.3231390652048, NA, 9.53678474114441, NA, 78.9630512514899,
NA, 9.58795562599049, NA, 79.6600403341976, NA, 12.6798910929599,
NA, 80.632183908046, NA, 10.5672105672106, NA, 67.6506024096386,
NA, 12.298682284041, NA, 68.7082728592163, NA, 10.3050595238095,
NA, 61.9558735837806, NA, 12.5674633770239, NA, 61.1953352769679,
NA, 10.8452335005789, NA, 50.6347800413345, NA, 9.35446463084654,
NA, 58.288125376733, NA, 10.5347166799681, NA, 58.3232077764277,
NA, 11.3076923076923, NA, 56.4117822076763, NA, 10.9069585613761,
NA, 44.9571132800946, NA, 10.0578034682081, NA, 52.0665901262916,
NA, 9.13818722139673, NA, 48.3361534122955, NA, 9.9236641221374,
NA, 44.424882629108, NA, 7.58468335787923, NA, 43.4916718075262,
NA, 6.68764752163651, NA, 41.0905002810568, NA, 6.81818181818182,
NA, 31.9174041297935, NA, 6.67634252539913, NA, 34.3841214244016,
NA, 6.72238372093023, NA, 35.1091703056769, NA, 6.96480938416422,
NA, 37.210186240973, NA, 7.85042100049529, NA, 32.9296527159394,
NA, 7.52759381898455, NA, 33.3132892363199, NA, 8.8734835355286,
NA)), row.names = c(NA, -220L), class = c("tbl_df", "tbl", "data.frame"
))这是两个时间段,我希望有两个面,有一个“自由”的x轴。
我已经尝试了以下代码的版本:
ggplot(to_plot, aes(x=date, y=value, linetype=type)) +
geom_line() +
# facet_wrap(~ wave, scales="free") +
facet_grid(. ~ wave, scales = "free_x") +
scale_linetype_manual(breaks = c("Party popularity", "Issue salience"),
values = c("solid", "dashed")) +
ylab("Share (percentage point)") +
scale_x_date(date_labels = "%b-%Y", date_breaks = "5 month", date_minor_breaks = "1 month",
limits = c(min(to_plot$date), max = max(to_plot$date)), expand=c(0,0)) +
theme_bw() +
theme(legend.title=element_blank(), legend.position="bottom",
legend.key.width = unit(2,"cm"), axis.title.x = element_blank())不幸的是,我无法让这些方面正常工作。我不确定这里发生了什么,如果有任何提示,我将不胜感激!
发布于 2020-12-03 21:11:46
您正在指定面轴上的限制,您需要删除这些限制。您还应该过滤掉value列中包含NA的所有行:
ggplot(dplyr::filter(to_plot, !is.na(value)),
aes(x=date, y=value, linetype=type)) +
geom_line(na.rm = TRUE) +
facet_grid(. ~ wave, scales = "free_x") +
scale_linetype_manual(breaks = c("Party popularity", "Issue salience"),
values = c("solid", "dashed")) +
ylab("Share (percentage point)") +
scale_x_date(date_labels = "%b-%Y",
date_breaks = "5 month",
date_minor_breaks = "1 month",
expand = c(0, 0)) +
guides(x = guide_axis(n.dodge = 2)) +
theme_bw() +
theme(legend.title= element_blank(),
legend.position="bottom",
legend.key.width = unit(2, "cm"),
axis.title.x = element_blank())

https://stackoverflow.com/questions/65126489
复制相似问题