How to force the x-axis tick marks to appear at the end of bar in heatmap graph?

后端 未结 2 1866
日久生厌
日久生厌 2021-01-14 17:34

I created a simple heatmap graph with ggplot2 but I need to force the x-axis tick marks to appear at the end of my x variable, rather than at its center. F

相关标签:
2条回答
  • 2021-01-14 18:16

    What about this?

    object = qplot(x=x, y=y, 
          fill=fill, 
          data=df, 
          geom="tile")+  
          scale_x_continuous(breaks=seq(1:3))
    
    object + scale_x_continuous(breaks=seq(.5,3.5,1), labels=0:3)
    

    enter image description here

    0 讨论(0)
  • 2021-01-14 18:33

    geom_tile centres each tile at the coordinates given. Therefore you would expect the output which it does give.

    Therefore If you give ggplot the centres (not the top-right corner coordinates) for each cell it will work.

    ggplot(df, aes(x = x-0.5, y = y-0.5, fill = fill)) + 
      geom_tile() + 
      scale_x_continuous(expand = c(0,0), breaks = 0:3) + 
      scale_y_continuous(expand = c(0,0), breaks = 0:3) + 
      ylab('y') + 
      xlab('x')
    

    or using qplot

    qplot(data = df, x= x-0.5, y = y-0.5, fill = fill, geom = 'tile')  + 
       scale_x_continuous(expand = c(0,0), breaks = 0:3) + 
       scale_y_continuous(expand = c(0,0), breaks = 0:3) + 
       ylab('y') + 
       xlab('x')
    
    0 讨论(0)
提交回复
热议问题