2017-09-04 117 views

回答

1

该图将作为基本情况,然后我将介绍如何改变辅助y轴断裂和标签:

sapply(c("pipeR", "ggplot2"), require, character.only = TRUE) 

data(swiss) 
swiss %>>% ggplot() + 
    geom_bar(mapping = aes(x = Agriculture, y = Fertility * 30/400), stat = "identity", colour = gray(0.5), fill = gray(0.5)) + 
    geom_line(mapping = aes(x = Agriculture, y = Education)) + 
    geom_point(mapping = aes(x = Agriculture, y = Education), size = 3, shape = 21, fill = "white") + 
    scale_x_continuous() + 
    scale_y_continuous(
    name = expression("Education"), 
    sec.axis = sec_axis(~ . * 400/30 , name = "Fertility"), 
    limits = c(0, 30)) + 
    theme_bw() + 
    theme(
    panel.grid.major = element_blank(), 
    panel.grid.minor = element_blank() 
) 

enter image description here

更改游:

swiss %>>% ggplot() + 
    geom_bar(mapping = aes(x = Agriculture, y = Fertility * 30/400), stat = "identity", colour = gray(0.5), fill = gray(0.5)) + 
    geom_line(mapping = aes(x = Agriculture, y = Education)) + 
    geom_point(mapping = aes(x = Agriculture, y = Education), size = 3, shape = 21, fill = "white") + 
    scale_x_continuous() + 
    scale_y_continuous(
    name = expression("Education"), 
    sec.axis = sec_axis(~ . * 400/30 , name = "Fertility", breaks = seq(1,1000,10)), 
    limits = c(0, 30)) + 
    theme_bw() + 
    theme(
    panel.grid.major = element_blank(), 
    panel.grid.minor = element_blank() 
) 

enter image description here

更改标签:

swiss %>>% ggplot() + 
    geom_bar(mapping = aes(x = Agriculture, y = Fertility * 30/400), stat = "identity", colour = gray(0.5), fill = gray(0.5)) + 
    geom_line(mapping = aes(x = Agriculture, y = Education)) + 
    geom_point(mapping = aes(x = Agriculture, y = Education), size = 3, shape = 21, fill = "white") + 
    scale_x_continuous() + 
    scale_y_continuous(
    name = expression("Education"), 
    sec.axis = sec_axis(~ . * 400/30 , name = "Fertility", breaks = seq(1,1000,10), labels=rep("x",length(seq(1,1000,10)))), 
    limits = c(0, 30)) + 
    theme_bw() + 
    theme(
    panel.grid.major = element_blank(), 
    panel.grid.minor = element_blank() 
) 

enter image description here

有用的链接:https://whatalnk.github.io/r-tips/ggplot2-secondary-y-axis.nb.html

+1

谢谢你,现在的工作 – samsmith

+0

@samsmith不客气乐意提供帮助。请点击绿色复选标记让其他人知道问题已解决:) –