我正在创建一个图表,显示湖水位随时间的变化.我在下面附上了一个简单的例子.我想在图的右侧添加一个刻度(刻度线和注释),以英尺为单位显示高程.我知道ggplot2不会允许两个不同的比例(参见2 y轴的绘图,左边的一个y轴,右边的另一个y轴),但因为这是相同比例的转换,有没有办法做这个?我更喜欢继续使用ggplot2而不必恢复到plot()函数.
library(ggplot2)
LakeLevels<-data.frame(Day=c(1:365),Elevation=sin(seq(0,2*pi,2*pi/364))*10+100)
p <- ggplot(data=LakeLevels) + geom_line(aes(x=Day,y=Elevation)) +
scale_y_continuous(name="Elevation (m)",limits=c(75,125))
p
Run Code Online (Sandbox Code Playgroud) 对于出版物,我需要在现有图中添加第二个y轴.我遇到过如何做到这一点的方法(https://rpubs.com/kohske/dual_axis_in_ggplot2).但是,我并不太了解编码.我找不到一种方法来使它成为正确的y轴也显示,而不是顶部边框.我的编码中缺少什么?这是我的虚拟数据:
df1 <- structure(list(month = structure(1:12, .Label = c("Apr", "Aug",
"Dec", "Feb", "Jan", "Jul", "Jun", "Mar", "May", "Nov", "Oct",
"Sep"), class = "factor"), RI = c(0.52, 0.115, 0.636666666666667,
0.807, 0.66625, 0.34, 0.143333333333333, 0.58375, 0.173333333333333,
0.5, 0.13, 0), sd = c(0.327566787083184, 0.162634559672906, 0.299555225848813,
0.172887246493199, 0.293010848165827, 0.480832611206852, 0.222785397486759,
0.381610777775321, 0.219393102292058, 0.3, 0.183847763108502,
0)), .Names = c("month", "RI", "sd"), class = "data.frame", row.names = c(NA,
-12L))
df2<-structure(list(month = structure(c(5L, 4L, 8L, 1L, 9L, 7L, 6L,
2L, 12L, 11L, 10L, 3L), .Label …Run Code Online (Sandbox Code Playgroud)