具有 2 个变量、2 个 y 轴的条形图

2024-02-23

我有以下数据

test<-data.frame(group=1:10, var.a=rnorm(n=10,mean=500,sd=20), var.b=runif(10))

我想要一个带有 2 y 轴的条形图(一个用于 var.a,一个用于 var.2)。每组(x 轴,1:10)应有 2 个相邻的条形,一个用于 var.a,一个用于 var.b。

由于 var.a 和 var.b 的数量级不同,我无法使用一个 y 轴

这对于基础 R 来说可能吗?

谢谢


要使用graphics包在 R 中,可以创建新变量作为值var.a and var.b转换为各个变量中最大值的比例:

test <- data.frame(group = 1:10, var.a = rnorm(n = 10, mean = 500, sd = 20),
  var.b = runif(10))

funProp <- function(testCol) {
    test[, testCol]/max(test[, testCol])
}

test$var.a.prop <- funProp("var.a")
test$var.b.prop <- funProp("var.b")

然后使用绘制绘图barplot()没有轴:

barplot(t(as.matrix(test[, c("var.a.prop", "var.b.prop")])), beside = TRUE,
  yaxt = "n", names.arg = test$group)

然后使用标签的原始值范围(labels参数)和将标签放置在轴上的比例值范围(at论证)(这部分不太漂亮,但它完成了工作):

axis(2, at = seq(0, max(test$var.a.prop), length.out = 10),
  labels = round(seq(0, max(test$var.a), length.out = 10)))

axis(4, at = seq(0, max(test$var.b.prop), length.out = 10),
  labels = round(seq(0, max(test$var.b), length.out = 10), 2))

(抱歉没有图片)

EDIT:

为了得到一点轴prettyer,

myLeftAxisLabs <- pretty(seq(0, max(test$var.a), length.out = 10))
myRightAxisLabs <- pretty(seq(0, max(test$var.b), length.out = 10))

myLeftAxisAt <- myLeftAxisLabs/max(test$var.a)
myRightAxisAt <- myRightAxisLabs/max(test$var.b)

barplot(t(as.matrix(test[, c("var.a.prop", "var.b.prop")])),
  beside = TRUE, yaxt = "n", names.arg = test$group,
  ylim=c(0, max(c(myLeftAxisAt, myRightAxisAt))))

axis(2, at = myLeftAxisAt, labels = myLeftAxisLabs)

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

具有 2 个变量、2 个 y 轴的条形图 的相关文章

  • 从网络源获取 R 中的数据作为数据框

    我正在尝试使用 RCurl 包将一些空气污染背景数据作为 data frame 直接加载到 R 中 该网站有 3 个下拉框 用于在下载 csv 文件之前选择选项 如下图所示 我试图从下拉框中选择 3 个值 并使用 下载 CSV 按钮将数据作
  • 用于清除工作空间和转储存储的 R 全局函数

    我希望创建一个全局函数来清除我的工作区并转储我的内存 我将我的函数称为 cleaner 并希望它执行以下代码 remove list ls gc 我尝试在全局环境中创建该函数 但是当我运行它时 控制台仅打印该函数的文本 在我要获取的函数文件
  • dplyr 中的 Summarize 是否可以不删除数据框中的其他列?

    我有一个包含三列的数据框 我正在尝试进行简单的总结以查找数据框中每个城市的最高温度 但同时保留每个最高温度列出的日期 这是数据框 我们称之为 maxT new ID Date Max TemperatureF 1 TUS 1960 04 0
  • 将 JSON URL 转换为 R 数据帧

    我在将 JSON 文件 从 API 转换为 R 中的数据帧时遇到问题 例如 URL 我尝试了 S O 的一些不同建议 包括将json数据转换为R中的数据框 https stackoverflow com questions 28683769
  • 使用 R 的 flextable 包时,有没有办法将传递给 add_header_lines() 的字符串部分加粗

    我正在使用我喜欢的 flextable 包为 Word 文档创建几个表格 但是 我在将表格标题中的部分文本加粗时遇到了一些麻烦 例如 我希望标题为 Table 1 我的表格标题的其余部分 而不是 表 1 我的表格标题的其余部分 I 找到这个
  • 查找数据帧列表中同一列中的所有重复值并将其转换为 NULL

    我有一个清单BELGIAN COAST list包含数百个数据帧 df1 df2 15 列 X 1000 行 每个数据帧的最后一列称为Chemicals并包含一些字符 例如Sulfate or Ammonia 但是这一列有很多行Chemic
  • 如何在 R 中为传单中的数值变量设置不对称颜色渐变

    我想让传单调色板以零为中心 红白绿发散 我已经尝试过中所说的这个帖子 https stackoverflow com questions 29262824 r center color palette on 0 当我尝试手动创建颜色时 我得
  • 在 R 中绘制对数正态概率密度

    我正在尝试在 R 中生成对数正态概率密度图 其中包含 3 个不同的均值对数和标准差对数 我尝试了以下方法 但我的图表太丑了 看起来一点也不好看 x lt seq 0 10 length 100 a lt dlnorm x meanlog 0
  • R.matlab/readMat:readTag(this) 中出错

    我正在尝试使用 R matlab 将 matlab 文件读入 R 但遇到此错误 require R matlab r lt readMat file mat verbose T Trying to read MAT v5 file stre
  • 从 R 中的 HTTPS 连接逐行读取

    当创建连接时open r 它允许逐行读取 这对于批量处理大数据流非常有用 例如这个脚本 https gist github com jeroenooms d33a24958d99bb969ac0通过一次读取 100 行来解析相当大的 gzi
  • 在另一个 Rmd 中运行选定的块

    我已经在源 Rmd 文件中运行了分析 并且希望仅使用few来自源的块 我已经看到了一些关于从源 Rmd 中提取所有块的答案来自另一个 Rmd 中的 Rmd 文件的源代码 https stackoverflow com questions 4
  • 将数据从 R 导出到 Excel

    我试图将从 R 获得的一些结果导出到 Excel 中 但未成功 我尝试过以下代码 write table ALBERTA1 D ALBERTA1 txt sep t write csv ALBERTA1 ALBERTA1 csv your
  • fread 将空导入为 NA

    我正在尝试导入带有空白的 csv 读取为 不幸的是他们都读作 NA now 为了更好地演示问题 我还展示了如何NA NA and 都映射到同一事物 除了最底部的示例 这将妨碍简单的解决方法dt is na dt lt gt write cs
  • 为绘图制作 2D 图例 - 双变量分区统计图

    我一直在玩双变量 choropleth 地图 并且一直在如何创建类似于 2d 图例的问题上陷入困境约书亚 史蒂文斯 http www joshuastevens net cartography make a bivariate chorop
  • 有没有一种简单的方法来判断存储在一个列表中的许多数据帧是否包含相同的列?

    我有一个包含许多数据框的列表 df1 lt data frame A 1 5 B 2 6 C LETTERS 1 5 df2 lt data frame A 1 5 B 2 6 C LETTERS 1 5 df3 lt data frame
  • 如何计算嵌套函数中的粘合表达式?

    我正在尝试嵌套一个函数 该函数将两个字符串粘合在一起 该函数使用组合字符串来命名数据帧的列 然而 问题似乎是粘合表达式没有足够早地评估为字符串 我可以 并且应该 强制在将表达式作为参数传递给另一个函数之前对其进行求值吗 library ti
  • R:将 JSON 时间格式转换为 POSIX

    我有一个 JSON 字符串 并将其放入数据框中 我能够做到这一点 但我在使用 apply 函数之一将所有时间字符串转换为 POSIX 格式时遇到问题 See here https stackoverflow com questions 90
  • 如何在R中同时对三个字段进行网络分析

    如何在 R 中同时对三个字段进行网络分析 下面是示例数据以及desired output在最后一栏中 df lt data frame stringsAsFactors FALSE id 1 c ABC ABC BCD CDE DEF EF
  • 使用 dplyr::filter 的整洁方式是什么?

    使用下面的函数调用foo c b 输出以内联方式显示 正确的写作方式是什么df gt filter x gt x 我已经包含了一个使用的示例mutate以整洁的风格与之对比filter foo lt function variables x
  • 非闪亮上下文中的反应式对象绑定

    实际问题 你怎样才能近似反应性环境 行为 http shiny rstudio com tutorial lesson6 建立者shiny http shiny rstudio com函数 或者甚至可能在一个函数中使用这些函数无光泽上下文以

随机推荐

  • android: 库模块中的 fcm

    我在将 Firebase Cloud Messaging 集成到库模块中时面临一个奇怪的问题 我正在开发一个图书馆项目 在该项目中我需要处理来自图书馆本身的 FCM 服务器的通知 我不知道这是否可能 我遵循的步骤 我在 Firebase 控
  • Angular 的多种布局

    我正在构建一个 Angular 应用程序 但在如何处理主页方面遇到了一些障碍 主页有 90 的不同 只有标题保持不变 在那里我有显示用户登录状态的指令 为了利用路由 模板等 我理想地希望将我的 ngview 显示在示例的白色区域中 一切正常
  • 使用 git 管理 virtualenv 状态:这会导致问题吗?

    我目前已经以一种完全正确的方式设置了 git 和 virtualenv 满足我的需求 到目前为止 还没有造成任何问题 不过我知道 我的设置是非标准的 我想知道是否有人更熟悉 virtualenv 内部结构可以指出是否以及哪里可能出错 My
  • 从浏览器中删除历史点

    我们可以删除在网络浏览器中创建的历史记录点吗 或者当示例链接 某些链接 时是否可以不添加历史点 被点击并且浏览器中的 url 发生变化 您无法从浏览器历史记录中删除项目 但可以将新文档加载到窗口中并bypassjavascript 的历史
  • HNS 失败并出现错误:参数不正确

    我正在使用 Visual Studio 2017 制作一个 Docker 容器化应用程序 当首先通过 Visual Studio 运行 docker 时 出现错误 ERROR client version 1 22 is too old 通
  • 由于组合框未突出显示,如何“获取”WPF 组合框 PART_EditableTextbox?

    每次单击按钮时 我的 WPF 组合框都会填充一组不同的字符串 窗口上还有其他控件 组合框是窗口中的 第一个 顶部 但文本不会突出显示 当用户通过控件切换时 文本会突出显示 但当它是窗口上的第一个时 文本不会突出显示 也许我需要在组合框本身
  • Python:使用自定义分隔符格式化字符串[重复]

    这个问题在这里已经有答案了 EDITED 我必须使用字典中的值格式化字符串 但该字符串已经包含大括号 例如 raw string DATABASE name DB NAME 但是当然 raw string format my diction
  • 在 Active Directory 中,什么是资源?

    在 AAD node js 库的示例和测试中 00000002 0000 0000 c000 000000000000始终作为资源传递 什么是00000002 0000 0000 c000 000000000000 The 文档 https
  • 函数中的空参数不为 Null

    鉴于这个基本功能 Function TestFunction Param int Par1 string Par2 string Par3 If Par1 ne Null Write Output Par1 Par1 If Par2 ne
  • Scala 检查元素是否存在于列表中

    我需要检查列表中是否存在字符串 并调用相应接受布尔值的函数 是否可以通过一个衬垫来实现这一目标 下面的代码是我能得到的最好的 val strings List a b c val myString a strings find x gt x
  • 从Python中的文本文件中删除二进制数据

    我有一个包含一些二进制数据的文本文件 当我使用 Python 3 在文本模式下读取文件时 我收到一个 UniCodeDecodeError 编解码器无法解码字节 其中包含以下代码行 fo open myfile txt r for line
  • Yii2:scenario()模型方法

    有2个需要的功能 注册时设置密码和如果用户忘记密码则更改密码 用户注册时 密码长度必须至少为4个字符 当更改通过时 至少 5 个字符 视图对于注册和更改通行证很常见 显然 还存在两种操作 其中使用 注册 或 更改 场景 模型中的代码片段 p
  • android:以编程方式选择默认启动器

    我想弹出一个对话框 让用户选择要启动的启动器设置为默认选项 我试过 Intent home new Intent Intent ACTION DEFAULT home addCategory Intent CATEGORY LAUNCHER
  • nuget中的所有软件包都有免费使用许可证吗?

    我正在做一个需要操作 Excel 文件的项目 我找到了一个适合这项工作的库 名为 Aspose cells 它不是一个免费的库 我们应该从其网站购买其许可证才能在我们的项目中使用它 然而我发现这个库有一个nuget包 所以我有点困惑 想问以
  • 添加 .resx 文件时 WPF .net Core 3.0 编译错误

    以下工作按预期进行 VS Studio 2019 经过专业人士和社区的测试 创建新的 APF 应用程序 NET Framework 打开属性文件夹 将 Resources resx 更改为公共 创建一个新的资源文件 Resources de
  • cabal-install 配置文件的文档

    The cabal config存储 cabal install 使用的配置 我想对它进行一些黑客攻击 具体来说 安装了多个 GHC 版本 我希望有单独的文档索引 但是 除了默认文件中包含的内容之外 我找不到任何有关其语法或变量的文档 有可
  • 在运行 Kestrel 服务器时构建 .NET Core 应用程序

    在经典的 NET 应用程序中 我会设置本地 IIS 来运行指定的应用程序 我可以构建应用程序并点击端点以立即查看更改 我不需要每次都启动调试器 我想通过使用 Kestrel 服务器的 NET core 来实现这一点 我可以通过运行来运行我的
  • Android 应用程序中的静态信息在哪里安全保存?

    在我的 Android 应用程序中 我使用很少的密钥和令牌进行身份验证和初始化 我需要存储这些静态键安全地在应用程序中的某处 同时 我也需要在代码中访问它 我知道我现在使用的 SharedPreference 和 Gradle 变量 我也尝
  • 检测对象是否可重复迭代

    Does obj iter obj 暗示obj不是可重复迭代的 反之亦然 我在文档中没有看到任何这样的措辞 但根据这条评论 https stackoverflow com questions 9884132 what exactly are
  • 具有 2 个变量、2 个 y 轴的条形图

    我有以下数据 test lt data frame group 1 10 var a rnorm n 10 mean 500 sd 20 var b runif 10 我想要一个带有 2 y 轴的条形图 一个用于 var a 一个用于 va