ggplot2, axis not showing after using theme(axis.line=element_line())

前端 未结 2 1909
悲&欢浪女
悲&欢浪女 2020-11-30 08:27

I am trying to draw this following graph using ggplot2 package, but somehow the axis won\'t show up. the ticks are there, just not the axis line. I have used th

相关标签:
2条回答
  • 2020-11-30 09:05

    The bug was fixed in ggplot2 v2.2.0 There is no longer a need to specify axis lines separately.

    I think this is a bug in ggplot2 v2.1.0. (See this bug report and this one.) A workaround is to set the x-axis and y-axis lines separately.

      library(ggplot2)
    
      ggplot(data = mpg, aes(x = hwy, y = displ)) + 
      geom_point() + 
      theme_bw() + 
      theme(plot.background = element_blank(),
             panel.grid.major = element_blank(),
             panel.grid.minor = element_blank() )+
      theme(panel.border= element_blank())+
      theme(axis.line.x = element_line(color="black", size = 2),
            axis.line.y = element_line(color="black", size = 2))
    
    0 讨论(0)
  • 2020-11-30 09:10

    You don't need to specify axis-size for X and Y separately. When you are specifying size="2", R is considering value 2 as non-numeric argument. Hence, axis-line parameter is defaulted to 0 size. Use this line of code:

    ggplot(data = mpg, aes(x = hwy, y = displ)) + geom_point() +xlab("Date")+ylab("Value of Home")+theme_bw() +theme(plot.background = element_blank(),panel.grid.major = element_blank(),panel.grid.minor = element_blank()) + theme(panel.border= element_blank()) + theme(axis.line = element_line(color="black", size = 2))

    axis_line inherits from line in R, hence specifying size is mandatory for non-default values.

    0 讨论(0)
提交回复
热议问题