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

后端 未结 2 1883
日久生厌
日久生厌 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: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')
    

提交回复
热议问题