我想在我的图像图中使用我自己的特定颜色。我是 ggplot2 的新手,所以从这里查看了它的手册并尝试重复一些内容;但我不知道如何提供我的颜色条,就像我为图形绘图所做的那样。
library(reshape2)
library(ggplot2)
#my specific color list
mycol <- vector(length=512, mode = "numeric")
for (k in 1:256) mycol[k] <- rgb(255, k - 1, k - 1, maxColorValue=255)
for (k in 257:512) mycol[k] <- rgb(511 - (k - 1), 511 - (k - 1), 255, maxColorValue=255)
mycol <- rev(mycol)
ncolors <- length(mycol)
# graphics plot
par(mar = c(5, 13, 1, 6))
image(1:ncol(volcano), 1:nrow(volcano), t(volcano), zlim = c(0, ncolors), col=mycol, axes=FALSE, main="W Matrix", sub = "", xlab= "Components", ylab="Genes")
axis(2, at=1:nrow(volcano), labels=row.names(volcano), adj= 0.5, tick=FALSE, las = 1, cex.axis=0.25, font.axis=1, line=-1)
axis(1, at=1:ncol(volcano), labels=colnames(volcano), adj= 0.5, tick=FALSE,las = 3, cex=1, cex.axis=0.5, font.axis=1, line=-1)
# ggplot2
library(reshape2)
library(ggplot2)
library(ez)
ggplot(melt(volcano), aes(x=Var1, y=Var2, fill=value)) + geom_tile() + scale_color_gradient2(low = muted("red"), mid = "white", high = muted("blue"), midpoint = 0, space = "rgb", guide = "colourbar") # the code does not really use my color bar
Run Code Online (Sandbox Code Playgroud)
*单位错误(tic_pos.c,“mm”):“x”和“单位”的长度必须> 0*
只是为了澄清@Didzis的答案,它有效,但可能不会产生您正在寻找的渐变......
“midpoint”是指您希望“mid”指定的颜色出现的数值。因此,与其将“中点”参数设置为 256(它超出了 的范围value,即您要着色的向量),不如将其设置为您所在值范围中间的某个值。着色,否则您不会使用用“低”和“高”指定的整个渐变,这违背了 的目的scale_color_gradient2。确切的值取决于您想要通过视觉方式传达的内容,但通常使用平均值或中位数。在这里,我编辑了@Didzis的代码,将“中点”设置为中值value
v <- melt(volcano)
ggplot(v, aes(x=Var1, y=Var2, fill=value)) +
geom_tile() +
scale_fill_gradient2(low = "#0000FF", mid = "#FFFFFF", high ="#FF0000",
midpoint = median(v$value), space = "rgb", guide = "colourbar")
Run Code Online (Sandbox Code Playgroud)
这给出了具有更宽梯度的图:

我认为您应该更改low=和mid=中high=的值scale_fill_gradient2()。对于low=我使用的第一个值mycol,对于high=最后一个值mycol以及mid=使用的256.值(中间)。也更改midpoint=为 256,因为这是颜色数量的中点。
ggplot(melt(volcano), aes(x=Var1, y=Var2, fill=value)) +
geom_tile() +
scale_fill_gradient2(low = "#0000FF", mid = "#FFFFFF", high ="#FF0000",
midpoint = 256.5, space = "rgb", guide = "colourbar")
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
9357 次 |
| 最近记录: |