第一次执行代码时颜色不正确

2024-03-06

我有一段代码可以在一页上绘制多个堆叠条形图。我指定了一个调色板,以便每个数据组都与每个图表中的相同颜色相关联。我发现第一个图表中的颜色不正确,但在所有后续图表中都是正确的。如果我在同一个 R 会话中重新运行代码,所有图表都具有正确的颜色。但是,如果我退出 R 并运行代码,第一个图表再次出现错误的颜色。

我的代码非常复杂,因此我整理了一个简单的示例来说明问题。同样,在启动新的 R 会话后第一次运行代码时,颜色不正确。如果代码在同一个 R 会话中重新运行,它们是正确的。

# Data vector for bar plot,
#
dvec        <- c(   0,     0,    0,    0,     0,     0,
                    0,     0,    0,    0,     0,     0,
                    0,     0,    0,    0,     0,     0,
                 1.73,     0,    0,    0,     0,     0,
                 4.81,     0,    0, 0.03,  0.03,     0,
                 2.77,     0,    0, 0.42,  1.04,     0,
                 2.84,  0.02,    0, 2.25,  4.21,  0.02,
                 1.32,  0.54, 0.01, 3.44, 10.49,  0.01,
                 0.13,  1.63, 0.02, 4.42, 17.70,  0.03,
                 0.08,  2.49, 0.03, 8.64, 31.07,  0.02,  
                    0,  3.08, 0.05, 9.04, 50.22,  0.01)

# matrix to pass to barplot, 12 columns, 6 rows

smat <- matrix(dvec,nrow=6)                    

# use this color palette and plot the barchart

zoopal <- palette(c("magenta","red","darkred","yellow","cyan","blue"))

barplot(smat,space=0,col=zoopal,axes=FALSE,axisnames=FALSE,
                  xaxs="i",yaxs="i",ann=FALSE)    

The first time I run the code after starting R, I get this: Incorrect colors

当我再次运行代码时,我得到了正确的颜色:

我不明白为什么会发生这种情况。几乎就像我指定的调色板在第一次运行代码时没有被使用一样。我应该注意到,虽然我在 MacOSX 10.8.5 下使用 R 版本 3.2.1 开发了 R 代码,但当代码在同事的 Windows 计算机上运行时,也会发生同样的情况。谁能解释我做错了什么?谢谢。


我可以在当前版本的 R 和 MacOS 上重现。这似乎与(不必要的)调用有关palette。省略该调用可以解决问题。请注意,这实际上是所描述的预期结果?palette其中说:“一个字符向量给出了调色板was有效。 “(强调)

在我看来,这确实是一种相当非功能性的行为palette。它显然被设计为充当系统副作用,而不是返回当前有用的值,并且返回的值可能应该存储为“oldpal”或类似的值。正如帮助页面上所讨论的,使用调色板应该更改(后续)数字到颜色的映射,而不是设置,而不是返回颜色列表。

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

第一次执行代码时颜色不正确 的相关文章

  • 使用 data.table 对分组数据进行插值

    这是我最初发布的问题的延续http r 789695 n4 nabble com subset Between data table list and single data table object tp4673202 html http
  • 如何对 lm() 中的一系列值进行子集化

    lm 的帮助文件没有涉及子集参数的语法 我不知道如何让它找到最适合我的数据集的一部分的线 这个问题是类似的 但我无法使用它解决我的特定问题 子集参数在 lm 函数中如何工作 https stackoverflow com questions
  • 删除第一次出现某个值后的行

    我有以下 df df lt data frame var1 c 1 2 2 3 4 5 5 6 7 8 9 var2 c a b c d e f g h i j k 我想在达到前 5 var1 后进行过滤 所以结果应该是 var1 var2
  • R 中的卡方拟合优度检验

    我有一个观察值向量 还有一个用模型计算的值向量 actual lt c 1411 439 214 100 62 38 29 64 expected lt c 1425 3 399 5 201 6 116 9 72 2 46 3 30 4 6
  • 如何使用“NA”作为字符串

    我有一个 csv 文件 其中一列是字符类型 该变量的很少有值是 NA 字符串 但是当我使用 read csv 读取 R 中的 csv 文件时 NA 字符串存储为 NA 我该如何修复它 您可以使用na strings论证中read csv r
  • ggplot 中的条形图,每组有不同数量的条形图

    我的数据集如下所示 DSET lt data frame cbind c rep V1 3 rep V2 3 V3 c rep c X1 X2 X3 2 X1 c rep 1 7 names DSET lt c A B C DSET 3 l
  • 如何根据另一列的条件语句将因子列添加到数据框?

    我有一个数据框 我需要根据条件语句添加一个因子列 这里是data https www dropbox com s hujiacus8ek5o5z MoroccoCGE CC Stats csv Code morstats agri f lt
  • 将 Excel 数字日期重新格式化为 R 日期

    希望将从 Excel 中提取的列重新格式化为包含数字 Excel 格式 例如 40182 的数据框 as date 40182 origin 1899 12 30 format b Y Returns 1 2070 年 1 月 5 日 我正
  • 如何使用 R 更改 png 文件的大小

    我正在绘制 png 文件并获取一张小图片 你知道一些可以改变 png 图大小的简单代码吗 我的地块太高太 薄 另外有没有办法改变情节的分辨率 谢谢 伊格尔 png png filename Rplot 03d png width 480 h
  • 使用多边形图层下方的轮廓线切割多边形

    我想根据高程将多边形图层切割成两部分 上部和下部 多边形可能是凸的或凹的 并且切割的位置可能彼此不同 等高线的间隔为 5m 这意味着我可能需要生成一个具有更紧凑的等高线的等高线 例如 1m 的间隔 关于如何做到这一点的任何想法 在 ArcG
  • JFreeChart - 具有 2 个图例的颜色问题

    我尝试在图表中创建自定义图例 但当我显示一两个图例时 会发生一些奇怪的情况 当我显示 2 个图例 旧的和新的 时 一切都很好 图例和图表中的颜色受到尊重 但是 当我只想显示新图例时 图例中的颜色受到尊重 但图表中的颜色不再受到尊重 这是我的
  • 如何在运行时更改按钮的颜色? [复制]

    这个问题在这里已经有答案了 button1 Button root text A1 width 8 grid row 0 column 0 button2 Button root text A2 width 8 grid row 0 col
  • 正则表达式在 R 中同时多次包含字母/特殊字符时删除单词

    我想删除那些单词中字母 特殊字符的数量同时出现两次以上的单词 例如 输入就像 Google in theee lland of whhhat c c and e 输出应该是 Google in lland of c c and x lt G
  • 如何使用 Rcpp 将 C 结构从 C 库公开到 R

    我正在尝试将 C 结构从 C 库公开到 R 中 例如 struct A int flag 库提供 API 来构造和销毁是很常见的A A initA void freeA A a 感谢RCPP MODULE 很容易暴露它而不考虑析构函数 in
  • 如何在 R 中创建纯 ascii 表作为输出,类似于 MySQL 风格?

    我正在尝试为 R 找到一个输出的函数data frameMySQL 风格的 ascii 表中的对象如下 id var1 var2 1 asdf g 2 asdf h 3 asdf j 有这样的功能吗 至少有两个工具可以做到这一点 csvfi
  • do.call 的 envir 选项如何工作?

    的文档do call states If quote is FALSE 默认值 然后对参数进行求值 在调用环境中 而不是在envir 这句话向我暗示 当quote FALSE 指定envir没有什么区别 然而 事实并非如此 事实上我遇到过需
  • 了解日期并使用 R 中的 ggplot2 绘制直方图

    主要问题 当尝试使用 ggplot2 制作直方图时 我无法理解为什么日期 标签和中断的处理无法像我在 R 中预期的那样工作 我在找 我的约会频率的直方图 刻度线位于匹配条下方的中心 日期标签在 Y b format 适当的限制 最小化网格空
  • “条件长度 > 1 并且仅使用第一个元素”错误

    我对 f 语句有疑问 因为它返回给我以下错误消息 条件长度 gt 1 并且仅使用第一个元素 我有一个名为 data summary 的数据框 我想创建两个新变量vol up and vol down取决于我的数据框的其他变量 这是我的脚本代
  • 当我添加形状时,分组哑铃图变得不稳定

    我有以下数据显示白人与黑人在各个领域的一致性百分比 我想创建一个分组哑铃图 其中国家值和州值彼此相邻 以便于比较 Domain c A B C D E F G A B C D E F G A B C D E F G A B C D E F
  • 使用 alpha 通道叠加两个 ggplot2 stat_密度2d 图

    我想叠加两个ggplot2使用 alpha 通道进行绘图 结果图像显示两个数据集 这是我的测试数据 data read table text P1 1 0 4 nP2 0 0 2 nP3 2 1 8 nP4 2 2 6 nP5 0 5 2

随机推荐

  • MVC EF 将帖子类型和客户类型合二为一

    我有一个类型叫blogpost具有对类型的属性虚拟引用customer public virtual Customer Customer get set 在我的表格中 我发布了blogpost and customer数据到控制器 所有值均
  • Visual C++ 2010 在调试时拒绝显示 std::string 值。显示<错误指针>

    我有一种奇怪的感觉 就像这是最近出现的问题 并且发生在两台不同的计算机上 当我调试并尝试查看 STL 中的 std string 的值时 它显示为值 它说它的大小是15 容量是一些乱码的巨大数字 数组值本身都显示 CXX0030 错误 无法
  • 如何将 Rails 中的自定义环境设置为默认环境?

    i created通过添加新文件在我的 Rails 应用程序中自定义暂存环境config environments staging rb 与 一样config environments development rb然后添加数据库配置conf
  • Android Draw 9补丁工具:图外黑线是什么意思

    我尽力在谷歌和安卓中找到这个问题 也做了几次尝试和错误 但无法得到这个问题 我正在学习 Android 的 Draw Nine Patch 图像 我知道的一个基本原则是 您处理的任何图像都必须采用 png 格式 如果它已经是 9 png 那
  • 如何反转 WPF Storyboard 动画?

    我在 Expression Blend 4 中的图像上创建了 WPF Storyboard 动画 悬停时 图像逐渐模糊 当鼠标离开图像时 有什么方法可以撤消或反转故事板吗 我可以让它触发 Storyboard Remove 但这实际上不会向
  • laravel livewire,如何通过单击将id或数据传递给另一个组件

    我有两个组件 帖子 和 帖子 帖子 显示帖子 通过单击图像我想在另一个组件中显示单击帖子的数据 下面发布类和组件 组件视图 div class post foreach posts as post div h1 post gt name h
  • 如何在定义之间添加空行?

    我成功地将我的代码设置为 clang format 格式 就像 iIwant 一样 然而 有一点让我很困扰 我想要在结构 类 函数的定义之间以及函数的声明之间有一个空行 目前 在格式化时 clang format 会删除空行 从而使所有内容
  • Android:有没有办法禁用通知捆绑?

    我有一个应用程序 用户可以在其中收到有关他们需要做的事情的多个通知 用户可以选择使其中一些通知持久化 我通过调用NotificationCompat Builder setOngoing 来实现 至少在我的 Android 版本 Nouga
  • SQL 2016 - 将 XML 转换为 Json

    我正在尝试使用 SQL2016 中的 FOR JSON PATH 将 XML 列转换为 Json 但遇到一些问题 给定以下 XML 请注意 某些 Product 元素可能包含 Product 列表
  • 如何为 Objective-C 协议提供默认实现?

    我想指定一个具有可选例程的 Objective C 协议 当例程不是由符合协议的类实现时 我想在其位置使用默认实现 协议本身是否有一个地方可以定义这个默认实现 如果不是 那么减少到处复制和粘贴此默认实现的最佳实践是什么 Objective
  • Chrome 中的 Fetch API 内存泄漏

    当以最简单的方式使用 fetch API 时 Chrome 无法正确进行垃圾收集 难道我做错了什么 for i 0 i lt 100 i fetch https upload wikimedia org wikipedia commons
  • 有没有办法使用java在Linux机器上获取用户的UID?

    有没有办法使用java在Linux机器上获取用户的UID 我知道System getProperty user name 方法 但它返回用户名 我正在寻找 UID 你可以执行id命令并读取结果 例如 id u jigar output 10
  • 如何在Qt6中的QML中使用QVideoSink

    我创建了自己的视频接收器 继承自QVideoSink在 Qt 6 中 我想在 QML 端显示该接收器的内容 我该怎么做 VideoOutputQML 类型有videoSink属性 但它是只读的 VideoOutput 和 QVideoWid
  • 使用最新的 Xcode 在 iOS 3.1.3 中进行测试

    如何使用最新的 Xcode 版本在 iOS 3 1 3 中测试应用程序 可以在模拟器中执行此操作吗 如果没有 是否可以将设备降级到 iOS 3 1 3 是的 您可以降级设备 它没有得到官方支持 但我已经在两台 3G 上完成了它 并在 3 1
  • 将字符串添加到 ImageView 对象 Android

    我需要将一个字符串附加到 ImageView 对象中 以便我可以执行类似的操作imgView1 getString 它会返回它 我知道有getTags and setTags但根据我的理解 它只使用整数 谢谢 只需补充 dharms 答案
  • 没有使用 Spring Security 进行身份验证和授权

    我的项目要求我使用 Spring Security 进行 CSRF 和 XSS 保护 但不使用它进行身份验证和授权 我已将 SS 配置到我的应用程序中 但每次访问页面时 它都会自动将我重定向到其登录页面 我如何禁用此功能 我的Securit
  • 指定 cartopy 中的纬度/经度标签位置(删除某些边)

    Cartopy 0 18 0 中为任何地图投影添加纬度 经度标签的新功能非常出色 这是这个包的一个很好的补充 对于某些地图 特别是在极地地区 纬度 经度标签可能非常拥挤 这是一个例子 from matplotlib import pyplo
  • 扩展网址如何工作

    我知道这些类型的 URL 如何加载页面 基于它们的 GET 参数 在后端大致是这样的 但这些类型的 URL 是如何工作的呢 我的意思是 数据是如何动态加载的 www dummysite com parm subpage1 xyz www d
  • 处理连续的 JSON 流

    现已不复存在 页面http stream twitter com 1 statuses sample json http stream twitter com 1 statuses sample json用于返回连续且无限的 JSON 数据
  • 第一次执行代码时颜色不正确

    我有一段代码可以在一页上绘制多个堆叠条形图 我指定了一个调色板 以便每个数据组都与每个图表中的相同颜色相关联 我发现第一个图表中的颜色不正确 但在所有后续图表中都是正确的 如果我在同一个 R 会话中重新运行代码 所有图表都具有正确的颜色 但