我需要在TValue.From<Variant>(value)
中制作一个双y轴。我尝试遵循这里发布的@kohske解决方案:http://rpubs.com/kohske/dual_axis_in_ggplot2但是,仍然有两件事是不希望的,我不知道该如何解决。
1.在下面的图中,右y轴的标签不存在,而我想显示它
2.右y轴的网格线显示在条形图的顶部,而它应该在背景中。
这是情节:
和代码:
ggplot2
答案 0 :(得分:1)
他们添加了辅助轴选项,以进行前一刻的ggplot。尝试将两个geom
放在一个图上并添加scale_y_continuous(sec.axis = sec_axis(~.-280), name = "My Second Axis")
。
您可以计算比率,而不是简单的减法。可以使用sec.axis = sec_axis(~. * max(myData$y) / max(myData$y2))
之类的方法内联完成此操作,也可以提前计算它,并将其应用于第二轴和打算在第二轴上读取的数据,如下所示:
library(ggplot2)
# Create Sample Data
myData <- data.frame(x = seq(1, 10, length.out = 10),
y = seq(0, 20, length.out = 10),
y2 = seq(0, 100, length.out = 10))
myData.ratio <- max(myData$y) / max(myData$y2)
ggplot(myData, (aes(x=x, y=y))) +
geom_bar(stat="identity", aes(y=y2 * myData.ratio), fill = "lightblue") +
geom_line(color="red") +
geom_point(color="red") +
scale_y_continuous(sec.axis = sec_axis(~. / myData.ratio, name = "My Second Axis"))
请注意,在计算轴时,我们将实际值乘以geom
中的比率,然后除以该比率。
输出: