0

考虑以下热图:

df <- data.frame(a=rep(letters[1:10],10), b=rep(letters[1:10], each=10), c=sample(2,100, replace=TRUE))
ggplot(df, aes(a, b)) + geom_tile(aes(fill= c))

从图中可以看出,在 x 轴的段之间,有白色的垂直线将 x 轴的值分开。是否有可能添加这样的白色水平线来分隔 y 轴的段,就像在第二个图中可以看到的那样:

http://learnr.wordpress.com/2010/01/26/ggplot2-quick-heatmap-plotting/

此外,是否可以增加灰色背景的边距以使其与上述链接的第二个图中一样大?

4

1 回答 1

0

如果您仍在寻找答案:

在上面的评论中,white需要用引号引起来。

要增加灰色边框的大小,请使用expandinsidescale_x_...()scale_y_...()函数。“扩展”是一个双元素向量:第一个元素是乘法常数,第二个元素是加法常数。常数确保数据点绘制在离轴一定距离的地方。当两者都设置为 0 时,没有边框。

library(ggplot2)
df <- data.frame(a=rep(letters[1:10],10), b=rep(letters[1:10], each=10), c=sample(2,100, replace=TRUE))

ggplot(df, aes(a, b)) + geom_tile(aes(fill = c), colour = "white") +
   scale_x_discrete(expand = c(0, 1)) + scale_y_discrete(expand = c(0, 1)) 

在此处输入图像描述

于 2012-09-01T22:44:48.953 回答