添加连续颜色渐变图例条以进行绘图

2024-04-20

我正在使用以下数据和代码来绘制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))

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

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())

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

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=...).

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)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

添加连续颜色渐变图例条以进行绘图 的相关文章

随机推荐

  • Javascript,如何读取本地文件?

    我尝试从服务器读取本地文件 我已经 谷歌 这个话题有一段时间了 有些人说这是不可能的 有些人说这是可以做到的 在搜索过程中我发现了这个脚本 使用 xmlhttprequest 读取文件 如果您的 javascript 应用程序的 HTML
  • 如何在 jQuery keyup 事件中实现 debounce fn?

    计算基于用户输入 标准是使用keyup而不是change or blur 问题是代码在每次击键时都会触发 而我需要它在 500 毫秒超时后仅延迟并触发一次 我下面的例子显然不起作用 附加了小提琴 我找到了大卫 沃尔什的dbounce功能 但
  • .NET 4 自旋锁

    以下测试代码 F 未返回我期望的结果 let safeCount let n 1000000 let counter ref 0 let spinlock ref lt SpinLock false let run i0 i1 for i
  • 在 Kotlin 中使用 Room 的 @ForeignKey 作为 @Entity 参数

    我遇到了一个房间tutorial https android jlelse eu android architecture components room relationships bf473510c14a这利用了 PrimaryKey类
  • 如何将 NSDictionary 转换为自定义对象

    我有一个 json 对象 interface Order NSObject property nonatomic retain NSString OrderId property nonatomic retain NSString Titl
  • Redhat 的 RHEL8 相当于“apk add --no-cache gcc musl-dev linux-headers”

    我正在尝试使用安装在 RedHat enterprise linux 7 8 映像上的 Python 上的 https docs docker com compose gettingstarted 中的示例代码 此行出现错误 127 RUN
  • 在不阻塞的情况下“通知”处理器的正确方法是什么?

    假设我有很多东西 我必须对所有这些东西进行一些操作 如果一个元素的操作失败 我想停止整个阵列的工作 这项工作分布在多个处理器上 我想实现这一目标 同时将发送 接收的消息数量保持在最低限度 另外 如果没有必要 我不想阻止处理器 我该如何使用
  • Rails 6+、zeitwerk 自动加载器和命名空间常量

    Rails 6 默认自动加载器是 zeitwerk 这似乎比以前的方法有了很大的改进 然而 zeitwork 遵循 Rails 项目的惯例 即任何内容app 是自动加载的 不需要命名空间 这非常适合app models user rb因为你
  • VM1550 installHook.js:1860 在控制台中记录为双行

    我正在使用反应应用程序并构建一个简单的应用程序 当我使用 console log 方法在控制台上记录某些内容时 控制台上会出现第二条日志 它似乎来自第 1860 行的文件名 installHook js 我已经尝试过寻找它 但我没有找到 我
  • 如何在 HP 触摸板上使用 webOS 命令行拍照?

    在 webos 上 我正在运行 openssh 并且想使用命令行脚本拍照 我怀疑这将包括一些 luna send 命令 或者 gst launch 但我对文档没有任何运气 webos 没有任何预期的捕获工具 但我可以访问 dev video
  • 在邮件中附加两个文件

    我想创建一个 VBA 脚本 将两个文件附加到邮件中 这段代码让我可以附加一个文件 Sub openWord Dim OutApp As Object Dim OutMail As Object Set OutApp CreateObject
  • Android Facebook 应用程序注销问题

    我的应用程序使用 Facebook SDK 来发布状态更新 另外还有注销功能 我可以在应用程序第一次运行时登录 我可以在 Facebook 上成功发布状态消息 但一旦我注销 后续运行并尝试更新状态时 我会遇到来自 facebook 的错误
  • 如何编写一个函数来测试链接列表是否已排序

    我查看了其他帖子 但没有找到适合我的查询的很好的解决方案 我不想对链接列表进行实际排序 我想看看它是否已排序 我有一个 C 中的链表问题 我被要求编写一个给定链表定义的函数来查看它是否已排序 实现函数 isSorted 如果链表中的值按升序
  • 如何在WebKit中调用参数化的javascript函数?

    我正在尝试将 2 个参数传递给 javascript 函数 这段代码webview loadUrl javascript function to call 没有参数可以正常工作 但我无法使用参数 这是 javascript 连接点 func
  • 纯文本压缩算法的现状如何?

    为了纪念哈特奖 http prize hutter1 net 文本压缩的顶级算法 以及每种算法的快速描述 是什么 注意 这个问题的目的是获得压缩算法的描述 而不是压缩程序的描述 突破边界的压缩器结合了疯狂结果的算法 常见的算法包括 The
  • 没有名为 EntityManager 的持久性提供程序

    我有我的persistence xml使用相同的名称TopLink在下面META INF目录 然后 我的代码使用以下方式调用它 EntityManagerFactory emfdb Persistence createEntityManag
  • Next js 子组件的父路由组件

    让我们想象一下我们有admin有几个页面的模块定制 settings account 这些页面中的每一个都应该有一些通用的布局 sidebar 对于标准 React 应用程序 我将做下一步来实现应用程序的这一部分 我会创建父路线 admin
  • 防止任务窗格在保存期间关闭(异步)

    我们使用 OfficeJs REST API 进行加载项开发 要使用此 API 需要一个 accesstoken 我们通过调用来请求该 accesstokenOffice mailbox getCallbackTokenAsync isRe
  • 如何在 Python 中对两个列表进行异或? [复制]

    这个问题在这里已经有答案了 我有两个列表 例如 a hello world b hello world im steve 如果我想创建第三个列表 其中仅包含两个列表中都不包含的元素 c im steve 如果元素的顺序很重要 我该怎么做 我
  • 添加连续颜色渐变图例条以进行绘图

    我正在使用以下数据和代码来绘制barplot ddf structure list VAR structure 1 9 Label c aaa bbb ccc ddd eee fff ggg hhh iii class factor VAL