使用geom_raster()生成热图会在PDF和显示中产生不同的结果

时间:2013-05-01 21:31:10

标签: r ggplot2 heatmap

我正在尝试使用ggplot2的geom_raster()生成热图。这是代码:

foo <- matrix(1:999,ncol=3)
ggplot(melt(foo), aes(X2,X1, fill=value)) + geom_raster()

结果是:

enter image description here

但是在将输出转换为PDF文件(使用pdf()函数)时结果如此不同:

enter image description here

列数很多,颜色之间的颜色逐渐变化。在将输出转换为PDF文件时如何使用与第一个相同的热图?

1 个答案:

答案 0 :(得分:1)

某些pdf查看器无法正确管理grid.raster的输出,即使interpolate=FALSE他们坚持显示一些虚假渐变。 你的pdf很可能是好的(根据pdf格式规范),它是缺乏的pdf查看器(过于平滑)。

尝试查看您是否在查看器中有一些首选项来关闭插值和/或其他pdf查看器,例如在Mac的预览应用程序中,可以关闭“平滑文本和艺术线条”并查看预期输出。跨平台Adobe Reader中有类似的选项。