【发布时间】:2018-07-08 06:20:40
【问题描述】:
我要更改的是变量计数的阴影区域(左 y 轴)。当 Count 等于或大于 12.5 时,该区域应为黑色。否则,该区域将显示为灰色。
现在这个图表的代码是:
ggplot(df_shadded_graph, aes(x=Date, y=Count)) +
geom_area(fill="black", alpha=.99) +
geom_line(aes(y = Underpricing*100, colour = "Underpricing"), colour = "grey", linetype="longdash") +
scale_y_continuous(sec.axis = sec_axis(~. / 100, name = "Underpricing")) +
geom_hline(yintercept = 12.5) +
theme_minimal()
我尝试使用如下子集,但没有成功:
geom_area(data = subset(df_shadded_graph, zero_one == 1, fill="black", alpha=.99))
实现两种颜色渐变的最佳方式是什么? geom_area 可以吗?
以下代码是一个精简的数据集:
df_shadded_graph <- structure(list(Date = structure(c(1025481600, 1028160000, 1030838400,
1033430400, 1036108800, 1038700800, 1041379200, 1044057600, 1046476800,
1049155200, 1051747200, 1054425600, 1057017600, 1059696000, 1062374400,
1064966400, 1067644800, 1070236800, 1072915200, 1075593600, 1078099200,
1080777600, 1083369600, 1086048000, 1088640000, 1091318400), class = c("POSIXct",
"POSIXt"), tzone = "UTC"), Count = c(5.33333333333333, 2.33333333333333,
3.66666666666667, 6.66666666666667, 8.66666666666667, 5.33333333333333,
3.33333333333333, 1.66666666666667, 1.66666666666667, 1, 1.66666666666667,
4, 5.66666666666667, 6.66666666666667, 8.33333333333333, 11.3333333333333,
16.6666666666667, 14.3333333333333, 15.3333333333333, 13.3333333333333,
15.6666666666667, 14.3333333333333, 18.3333333333333, 23.6666666666667,
24.3333333333333, 20), Underpricing = c(0.0281112960367963, 0.00954323052149139,
0.0129313986013986, 0.0296151983272675, 0.0542382142002834, 0.0413068155988848,
0.0178396825396825, -0.00869082021936099, -0.00869082021936099,
0.050384179780639, 0.0962599206349206, 0.1782458943856, 0.16362838849032,
0.155155878713463, 0.110998297207745, 0.106699976872014, 0.113896570632104,
0.162480658578345, 0.176346448849018, 0.157754181912185, 0.148675489256975,
0.130041460117814, 0.136243778466198, 0.0743238088052681, 0.0478918997193753,
0.0596987903377546), zero_one = c(0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)), .Names = c("Date",
"Count", "Underpricing", "zero_one"), row.names = c(NA, -26L), class = c("tbl_df",
"tbl", "data.frame"))
【问题讨论】: