如何强制X轴刻度线出现在热图图表的条形结尾处? [英] How to force the x-axis tick marks to appear at the end of bar in heatmap graph?

查看:117
本文介绍了如何强制X轴刻度线出现在热图图表的条形结尾处?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用 ggplot2 创建了一个简单的热图图表,但我需要强制x轴刻度线出现在x变量的末尾,而不是其中心。例如,我希望1出现在现在1.5的位置。我相信在Base R完成的热图将做到这一点。
$ b $

  library(car)#initialize libraries 
library(ggplot2)#initialize libraries
library(reshape)

df = read.table(text =xy fill
1 1 B
2 1 A
3 1 B
1 2 A
2 2 C
3 2 A
,header = TRUE,sep =)

#plot data
qplot(x = x,y = y ,
fill = fill,
data = df,
geom =tile)+
scale_x_continuous(breaks = seq(1:3))


这个想法是创建一个简单的热图,如下所示:

此图中的刻度线位于条的末端而不是其中心

解决方案

那么这是怎么回事?

  object = qplot(x = x,y = y,
fill = fill,
data = df,
(break = seq(1:3))

object + scale_x_continuous(breaks = seq(.5,3.5,1),labels = 0: 3)


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. For example, I would expect 1 to appear at the position of where 1.5 is now. I beleive a heatmap done in Base R would do that.

library(car) #initialize libraries
library(ggplot2)  #initialize libraries
library(reshape)

df=read.table(text= "x  y  fill
1 1 B
2 1 A
3 1 B
1 2 A
2 2 C
3 2 A
",  header=TRUE, sep=""  )

#plot data
qplot(x=x, y=y, 
      fill=fill, 
      data=df, 
      geom="tile")+  
      scale_x_continuous(breaks=seq(1:3) ) 

The idea is to create a simple heatmap which looks like this:

The tick marks in this graph are placed at the end of the bars instead of their centers

解决方案

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)

这篇关于如何强制X轴刻度线出现在热图图表的条形结尾处?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆