使用 ggplot 堆积条形图

2024-01-03

我正在尝试使用以下数据框制作堆积条形图:

 totalleft
        1S 2S 3S 4S 12S 25S      tests
A-000   5  0 10 10   0  NA       A-000
A-001  10  8 10 NA  NA  NA       A-001
A-002   5  3 10 10  10  NA       A-002
A-003   2  0 10  9   0  10       A-003
A-004   5  4 10 10  10  NA       A-004
A-005   5  3 10 10  10  NA       A-005
A-006   8  7 NA 10  10  NA       A-006
A-009   9 10 NA NA  10  10       A-009
A-015  NA  1 NA NA  NA  NA       A-015
A-016  NA  0 10 NA   6   9       A-016
A-017  NA  0 NA NA   4  NA       A-017
A-020  NA  1 NA NA  NA  NA       A-020
A-025  NA  0 NA NA   0  NA       A-025
A-025a NA  0 NA NA  10  NA      A-025a
A-026  NA  9 10 NA   9   9       A-026
A-027  NA  0 10 NA   2   9       A-027
A-028  NA  0 NA NA   1  NA       A-028
A-030  NA  7 NA NA   8   8       A-030
B-000     0  0  7  8   0   0     B-000
B-056     4  0  9 NA   0   5     B-056
B-076     9  9 NA NA  10  10     B-076
B-099     6  5 10 NA   5   9     B-099
B-102     7  0 NA NA   0  10     B-102
B-105    NA  6 NA NA  NA   6     B-105
B-119     7  8 10 10  NA  NA     B-119

然而,大多数文档涉及根据两个因素进行绘图:一个用于沿 X 轴分割条形,另一个用于分割每个条形。我的问题是如何通过因子测试分割 X 轴,然后将每个条形除以相应的行(即。1S,2S,3S,4S,12,25S).

所以,第一个栏将是A-000,其中 20% 是一种颜色(对于1S, 5/(5+10+10)) 第二个 40% 是另一种颜色 (3S, 10/(5+10+10)) 最后 40% 将是另一种颜色 (4S, 10/(5+10+10))

我使用这个命令作为参考:

ggplot(diamonds, aes(clarity, fill=cut)) + geom_bar()

从这个网站:http://docs.ggplot2.org/0.9.3.1/geom_bar.html# http://docs.ggplot2.org/0.9.3.1/geom_bar.html#


所以你需要重塑数据。 您想要一个堆叠条形图,因此您需要告诉 ggplot 关于变量 1S、2S ... 和测试。

#let's melt the data
#library(reshape2)
data.plot.m <-melt(data.plot, id.vars = "tests") #I stored your data in data.plot
data.plot.m$variable <-gsub("X","",data.plot.m$variable) 
#as R doesn't like variable names beginning with numbers,
#it adds an 'X' automatically when
#we load the data with read.table so we remove this from melted data

#now we plot the data
ggplot(data.plot.m,aes(y = value,x = variable,fill = tests)) +
geom_bar(stat = "identity")

enter image description here You will notice the order of the plots are different. We will need to reorder your variable:

data.plot.m$variable <- factor(data.plot.m$variable, levels = unique(data.plot.m$variable))
#now plot again
ggplot(data.plot.m,aes(y = value,x = variable,fill = tests))+
geom_bar(stat = "identity") 

我刚刚意识到你想要这个

ggplot(data.plot.m,aes(y=value,x=tests,fill=variable))+geom_bar(stat="identity")

并旋转 x 轴刻度标签

ggplot(data.plot.m,aes(y=value,x=tests,fill=variable))+geom_bar(stat="identity") + theme(axis.text.x = element_text(angle=90))

enter image description here Note how I switched x and fill

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

使用 ggplot 堆积条形图 的相关文章

  • warnings() 在函数内不起作用?如何解决这个问题?

    op lt options warn 0 although doesn t work for any value of warn assign last warning NULL envir baseenv thisDoesntWork l
  • 在 R 中将时间间隔数据扩展为天数

    假设我有如下所示的数据 interval id indiv id role start date end date 1 1 A 2006 05 01 2006 06 16 2 1 B 2006 06 16 2006 10 16 3 1 A
  • 如何将 R 数据框中的多个字符列合并为单个列

    我正在处理人口普查数据 需要将四个字符列合并为一列 Example LOGRECNO STATE COUNTY TRACT BLOCK 60 01 001 021100 1053 61 01 001 021100 1054 62 01 00
  • 连接多个用户的 R 闪亮会话

    最小可重现示例 library shiny ui lt fluidPage actionButton button1 Run 1 actionButton button2 Run 2 server lt function session i
  • R:为什么 boxplot(x,log="y") 与 boxplot(log(x)) 不同?

    delme lt exp rnorm 1000 1 5 0 3 boxplot delme log y boxplot log10 delme 为什么这两个图中的胡须不同 谢谢 阿古斯 我想说的是 在您的第一个图中 您只是将 y 轴更改为对
  • 从向量中删除元素在 R 中出现的时间量

    我想从一个向量中删除元素在另一个向量中出现的时间 就像我要减去它们一样 鉴于我想要删除的元素向量中的每个元素也存在于我想要从中删除的主向量中 a lt c A B B C C C b lt c A B C C a a in b return
  • R texreg:如何选择要显示的 gof 统计信息?

    我正在使用 texreg 通过 plm 生成面板回归的输出表 我想抑制所有 gof 统计数据的输出 这不是显示 R2 adj R2 和 N 我只想显示 adj R2 有谁知道一个简单的方法来做到这一点 好吧 这实际上很简单 只需在调用中包含
  • Django 中的 Rpy2 错误 - 未为“”类型的对象定义转换“py2rpy”

    我以前从未使用过 R 并且正在尝试使用 rpy2 从 python 调用 R 函数 它可以在独立的 python 终端上运行 但不能在 Django 中运行 但rpy2似乎无法将python字符串转换为r对象 我正在使用同事提供的自定义库
  • R:如何找到向量的模式[重复]

    这个问题在这里已经有答案了 下面是我的data frame我想知道每个内存类别 1 到 8 的模式是什么 gt dput d structure list MEMORY1 c 5 5 7 1 5 6 4 5 4 5 5 4 1 5 5 2
  • 将不同的 grViz 组合成一个图

    我想结合不同的DiagrammeR绘制成一个图形 生成的图如下例所示 library DiagrammeR pDia lt grViz digraph boxes and circles a graph statement graph ov
  • 从 data.frame 中提取时用 NA 填充缺失的列

    我有一个函数 它将具有某些列的数据框作为输入 columns a b z 现在我有一个数据框DF只有很少的这些列DF columns f u z 如果列不在其中 如何创建一个包含所有值为 NA 的列的数据框DF这与DF在柱子上 f u z
  • 在 matplotlib 中绘制多边形的并集[重复]

    这个问题在这里已经有答案了 我正在尝试绘制几个多边形的并集matplotlib 具有一定的 alpha 水平 我当前的代码在交叉点处颜色较深 有没有办法让交叉路口与其他地方的颜色相同 import matplotlib pyplot as
  • 删除缺失的数据值

    我删除了原始帖子 以便能够发布更大版本的数据集 实际上总共有 418 行 这是我正在进行的生存分析的数据 第一列是 ID 号 其他列标记为 V2 V20 有很多缺失的数据 用 表示 我用coxph 函数来获取以下内容 Saves survi
  • R data.table 多个条件连接

    我设计了一种解决方案 用于从两个单独数据表的多个列中查找值 并添加基于新列的值计算 多个条件比较 代码如下 它涉及在计算两个表中的值时使用 data table 和联接 但是 这些表没有联接在我正在比较的列上 因此我怀疑我可能无法获得 da
  • R 错误:无法更改锁定绑定的值

    我试图估计无限数字流的平均值和标准差 当我运行代码时 出现错误消息 无法更改锁定绑定的值 我做了一些研究 发现这个错误与我使用全局变量有关 但我无法弄清楚 任何帮助将非常感激 在此先感谢您的帮助 define global variable
  • 如何读取 R 中的每个 .csv 文件并将其导出到单个大文件中

    你好 我有以下格式的数据 101 20130826T155649 3 1 round 0 10552 180 yellow 12002 1 round 1 19502 150 yellow 22452 1 round 2 28957 130
  • 修改linux下的路径

    虽然我认为我已经接近 Linux 专业人士 但显然我仍然是一个初学者 当我登录服务器时 我需要使用最新版本的R 统计软件 R 安装在 2 个地方 当我运行以下命令时 which R I get usr bin R 进而 R version
  • dplyr 中的标准评估:全局环境中的函数出现“无法找到函数”错误

    我试图在 dplyr 中对全局环境中的函数使用标准评估 但出现 无法找到函数 错误 这是一些代码 create data frame df lt data frame x rnorm 10 y rnorm 10 define arbitra
  • 按组计算连续行中的值之间的差异

    这是我的一个df 数据框 group value 1 10 1 20 1 25 2 5 2 10 2 15 我需要按组计算连续行中的值之间的差异 所以 我需要一个结果 group value diff 1 10 NA because the
  • R data.table fwrite 到 fread 空间分隔符并清空

    我在使用 fread 以 作为分隔符和散布的空白值时遇到问题 例如 这个 dt lt data table 1 5 1 5 1 5 make a simple table dt 3 V2 NA add a blank in the midd

随机推荐

  • C:检查命令行参数是否为整数?

    签名isdigit int isdigit int c 签名atoi int atoi const char nptr 我只是想检查传递的命令行参数是否是整数 这是 C 代码 include
  • 获取 Magento 中的当前 URL 并显示一些内容

    我正在尝试获取 Magento 中的当前 URL 并显示一些内容 如果我当前位于该页面上 到目前为止 这就是我所做的并且有效 I am in the blog page 但是 我不想在源代码中硬编码URL 因为如果我传输到另一台服务器 我需
  • 写入 JSON 文件时出现阶段失败 Spark FileAlreadyExistsException

    我正在尝试以 JSON 格式将数据帧写入 s3 位置 但是每当执行器任务失败并且 Spark 重试该阶段时 它就会抛出FileAlreadyExistsException A 类似的问题 https stackoverflow com qu
  • 访问和使用数据库中的 .jsf 文件

    使我的 Web 应用程序能够使用数据库中存储的 JSF 文件的最佳方法是什么 我希望能够动态 在运行时 创建新的 JSF 页面 无需重新部署应用程序即可使用该页面 换句话说 我希望将 JSF 页面的大部分存储在数据库中 并希望 JSF 使用
  • 在 P/Invoke 中为固定字符串传递什么?

    假设这个 C 函数 void do something const char str 它将字符串存储在某处稍后参考 此外 我在 C 中有这个签名来调用这个函数 DllImport NativeLib static extern void d
  • Java 中的窗口拖动事件

    我正在尝试在 Java 中实现类似 OS X 抽屉的功能 因此我将一个窗口隐藏在另一个窗口下 但是 当我拖动主窗口 JFrame 时 我需要在它移动到下面的辅助窗口 JWindow 时发送更新 所以它会是这样的 JFrame JWidow
  • 使用 laravel forge 永远运行 artisan 命令?

    有人可以建议我如何让我的自定义 artisan 命令与守护进程一起永远运行吗 我看过很多关于队列的教程 但它并不完全适合 我正在尝试使用 pubnub 的 php 库完成 订阅 这似乎是最好的方法 除非我错过了一些东西 提前致谢 如果您从命
  • 如何使用 LDAP 组成员身份同步设置 TeamCity [关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 这是一个简短的指南 帮助您进行 TeamCity 的 LDAP 设置 在我设法让同步运行之前 我个人经历了相当多的挣扎 默认配置文件有
  • 是否可以在 MATLAB 中实现以下内容?

    给定 5x5 的图像 I i j 4 i j 当 i j 0 1 2 3 4 时 以及以下 Prewitt 运算符 1 0 1 1 0 1 1 0 1 1 1 1 0 0 0 1 1 1 如何计算梯度 幅度和方向 使用 Prewitt 算子
  • ASP.NET Core - 如何注入 IOptionsMonitor

    我怎样才能注射IOptionsMonitor
  • 将 php 与 bigcommerce api 集成

    我是 Bigcommerce Api 整个概念的新手 但我的 php 编程很好 如果我要将我可能创建的 php 代码与 bigcommerce api 集成 我无法确定从哪里开始 我的文件去哪里 他们具体是如何互动的 在 Bigcommer
  • 默认路由总是在react router中执行

    我正在开发一个项目 其中使用了引人注目的Dash 模板 在这里 我在从 URL 更改路由时遇到一些路由问题 auth js import React lazy Suspense from react import Spin from ant
  • CancellationToken 泄漏内存

    我有一个计时器 每 2 秒启动 2 个任务 我在一个简单的列表中跟踪这些任务 这样我可以在停止应用程序时等待它们完成 这些任务有效地进入数据库 运行几次更新并完成 任务本身的运行时间不会超过一秒 global variables to ke
  • 使用点击数据更新绘图[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在尝试构建一个闪亮的应用程序 它允许用户单击绘图上的多个位置 然后单击按钮将这些坐标添加到绘图中 问题是我需要将这些坐标作为向量传
  • Haystack Faceted:__init__() 得到了意外的关键字参数“facet_fields”

    在享受 haystack 2 4 1 Django 1 8 的第一个成果的同时 我不得不承认我在学习它时遇到了困难 文档有时不完整 并且某些功能只有很少的示例 分面搜索就是其中之一 我正在关注文档 http django haystack
  • 如何使用openCV保存裁剪后的图像?

    我正在使用 python 中的 opencv 和face recognition 库捕获图像 这是我的程序的片段 while True ret frame video capture read rgb frame frame 1 face
  • Javascript平方数组中的所有元素不起作用

    function square arr var result concat arr result forEach function i i i i console log i return result var arr 1 2 3 4 co
  • BlueGiga BLE 开发工具

    我正在考虑尝试BlueGiga BLE112 套件 https www bluegiga com en US products bluetooth 4 0 modules ble112 bluetooth smart module 为 iO
  • 如何更改 DRF 中的验证错误响应?

    我想更改 JSON 当发生验证错误时 rest framework 或 Django 返回该 JSON 我将使用我的视图之一作为示例 但我想更改所有视图的错误消息 假设我有这个视图 旨在登录用户 提供电子邮件和密码 如果这些正确 它将返回
  • 使用 ggplot 堆积条形图

    我正在尝试使用以下数据框制作堆积条形图 totalleft 1S 2S 3S 4S 12S 25S tests A 000 5 0 10 10 0 NA A 000 A 001 10 8 10 NA NA NA A 001 A 002 5