添加连续颜色渐变图例条以进行绘图 [英] Adding a continuous color gradient legend strip to plot

查看:78
本文介绍了添加连续颜色渐变图例条以进行绘图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用以下数据和代码来绘制 barplot:

I am using following data and code to plot a barplot:

ddf=structure(list(VAR = structure(1:9, .Label = c("aaa", "bbb", 
"ccc", "ddd", "eee", "fff", "ggg", "hhh", "iii"), class = "factor"), 
    VAL = c(0L, 32L, 64L, 96L, 128L, 160L, 192L, 224L, 256L)), .Names = c("VAR", 
"VAL"), class = "data.frame", row.names = c(NA, -9L))

barplot(ddf$VAL,col=rgb(ddf$VAL,256-ddf$VAL,0,maxColorValue=256))

如何添加具有这些颜色的图例条,并在其中写入相应的值?我想要一个如下图所示的图例条:

How can I add a legend strip having these colors on it, with corresponding values written there? I want a legend strip as appears in following plot:

library(latticeExtra)
dat <- data.frame(x = rnorm(1000), y = rnorm(1000), z = rnorm(1000, mean = 1))
maxz <- max(abs(dat$z))
levelplot(z ~ x * y, dat, at = seq(-maxz, maxz, length = 100), panel = panel.levelplot.points, par.settings = custom.theme.2())

我尝试使用以下函数示例,但无法根据我的需要修改它们:

I have tried to use following function examples but am unable to modify them to my needs:

legend("bottom", legend = LETTERS[1:6], col = c6, ncol = 2, cex = 2, lwd = 3, text.font = i, text.col = c6)

libarary(plotrix)
testcol<-color.gradient(c(0,1),0,c(1,0),nslices=5)
color.legend(11,6,11.8,9,col.labels,testcol,gradient="y")

提前致谢.

推荐答案

诀窍是在单独的面板中将颜色键绘制为图像.请注意,我通过减少 par(mar=...) 来减少面板之间的边距,并使用 par(oma=...) 在两个面板周围添加外边距.

The trick is to draw the color key as an image in a separate panel. Notice that I decrese the margin between the panels by reducing par(mar=...) and add an outer margin around both panels with par(oma=...).

my.palette <- rgb(ddf$VAL,256-ddf$VAL,0,maxColorValue=256)

# Create two panels side by side
layout(t(1:2), widths=c(5,1))

# Set margins and turn all axis labels horizontally (with `las=1`)
par(mar=rep(.5, 4), oma=rep(3, 4), las=1)

barplot(ddf$VAL,col=my.palette)

# Draw the color legend
image(1, ddf$VAL, t(seq_along(ddf$VAL)), col=my.palette, axes=FALSE)
axis(4)

这篇关于添加连续颜色渐变图例条以进行绘图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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