如何使用R代码在已存在的png图像的右上角添加色标? 色标由“ KEGGprofile” R包装制成。代码是:
col = col_by_value(temp, col=colorRampPalette(c('yellow','white','blue'))(1024), range=c(min(temp),max(temp))).
临时数据为:
Proteome Phosphoproteome
10365 0.1936665 0.8226708
3320 -0.6043064 0.3554265
596 -1.8526172 -0.4719894
6300 1.2375722 1.3151508
659 0.1260142 -0.6054770
858 -1.4846932 1.6420495
色标如下:
存在的png图像如下:
如何缩小和旋转色阶图并将其粘贴到png图像中(如下所示)。数字是色阶也可以清楚。
答案 0 :(得分:0)
您可以使用功能readPNG
来读取现有图形,使用rasterImage
绘制图形并使用image.plot
添加色标。而horizontal
函数中的参数image.plot
可以旋转图例,而smallplot
可以调整图例的大小。顺便说一句,您可以通过axis.args
参数来调整图例比例的大小。
library(png)
library(graphics)
library(grDevices)
library(fields)
img=readPNG("hsa00310_profile_bg.png")
width=ncol(img)
height=nrow(img)
png(file="hsa00310_profile_bg.png",width=width,height=height)
par(yaxs="i")
par(xaxs="i")
par(mar=c(0,0,0,0))
plot(c(0,width), c(0,height), type='n', xlab="", ylab="")
rasterImage(img, 0, 0, width, height,interpolate=F)
image.plot(legend.only=T, zlim=c(-2,2), col=colorRampPalette(c('yellow', 'white', 'red'))(1024), horizontal
=TRUE, legend.shrink=0.1, smallplot = c(.9,.99, .92,.95), axis.args = list(cex.axis = 2))
dev.off()