通过变量之一的值设置堆积条形图的顺序

2023-12-12

我被要求制作一个堆叠条形图,其中的条形和值以精确的方式堆叠和排序。

在本例中,“A3”在左侧,“A2”在中间,“A1”在右侧。我已经解决了。

我没有注意到的是,我还被要求按“A1”的值降序排列条形。在这种情况下,这意味着“值 11”出现在顶部,按降序排列到“值 6”。条形的顺序记录在向量“plotOrder”中,我在下面的当前尝试中尝试使用它来实现一些目标。

在搜索关于订购堆叠条形图的许多问题时,我没有找到描述或解决这个特定问题的问题或答案。任何帮助将不胜感激。

下面的简化代码会下载一些随机数据,这些数据的形式与我当前正在使用的形式相同,并生成下面的图表。

library(ggplot2)

stackedBarPlot <- 
        ggplot(data) +
        aes(x = ValueName, y = Percent, fill = reorder(Response, plotOrder)) +
        geom_bar(position = "fill", stat = "identity") +
        coord_flip()

生成此图表:

Where

Data:

structure(list(ValueName = c("Value 11", "Value 14", "Value 13", 
"Value 12", "Value 10", "Value 1", "Value 5", "Value 9", "Value 4", 
"Value 7", "Value 8", "Value 3", "Value 15", "Value 2", "Value 6", 
"Value 11", "Value 14", "Value 13", "Value 12", "Value 10", "Value 1", 
"Value 5", "Value 9", "Value 4", "Value 7", "Value 8", "Value 3", 
"Value 15", "Value 2", "Value 6", "Value 11", "Value 14", "Value 13", 
"Value 12", "Value 10", "Value 1", "Value 5", "Value 9", "Value 4", 
"Value 7", "Value 8", "Value 3", "Value 15", "Value 2", "Value 6"
), plotOrder = c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 
12L, 13L, 14L, 15L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 
11L, 12L, 13L, 14L, 15L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 
10L, 11L, 12L, 13L, 14L, 15L), Response = c("A1", "A1", "A1", 
"A1", "A1", "A1", "A1", "A1", "A1", "A1", "A1", "A1", "A1", "A1", 
"A1", "A2", "A2", "A2", "A2", "A2", "A2", "A2", "A2", "A2", "A2", 
"A2", "A2", "A2", "A2", "A2", "A3", "A3", "A3", "A3", "A3", "A3", 
"A3", "A3", "A3", "A3", "A3", "A3", "A3", "A3", "A3"), Percent = c(86.5, 
85.3, 84.5, 83.2, 81, 79.5, 77, 76.7, 71, 66.2, 64.5, 60.5, 59.6, 
57.2, 53.2, 9.9, 9.4, 10.2, 9.9, 11.8, 14.7, 13.9, 13.5, 15.1, 
16.1, 21.3, 21.3, 26.6, 19.8, 18.5, 3.6, 5.3, 5.3, 6.9, 7.2, 
5.8, 9, 9.8, 13.9, 17.7, 14.1, 18.2, 13.8, 22.9, 28.2)), .Names = c("ValueName", 
"plotOrder", "Response", "Percent"), row.names = c(NA, -45L), class = c("tbl_df", 
"tbl", "data.frame"))

预先感谢您提供的任何建议或解决方案。


你已经拥有了plotOrder,但您需要应用它才能重新排序x而不是fill...

stackedBarPlot <- 
  ggplot(data) +
  aes(x = reorder(ValueName,-plotOrder), 
      y = Percent, 
      fill = Response) +
  geom_bar(position = "fill", stat = "identity") +
  coord_flip()

enter image description here

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

通过变量之一的值设置堆积条形图的顺序 的相关文章

  • R中添加水印

    我在用magickR中的库 我想在一些图片上添加水印 I used image annotate功能如下 img lt image read C Users Maydin Desktop manzara png image annotate
  • 使用 R Shiny 从 XLConnect 下载 Excel 文件

    有没有人尝试过使用 R Shiny 中的下载处理程序通过 XLConnect 下载新创建的 Excel 文件 在 ui R 中有一行不起眼的行 downloadButton downloadData Download 在 server R
  • 替换列表列表中的元素

    The applyR 中的函数是简化 for 循环以获得输出的好方法 是否有一个等效的函数可以帮助人们在替换向量的值时避免 for 循环 通过示例可以更好地理解这一点 Take this list for example x list li
  • 从 R 中的向量中选择所有可能的元组

    我正在尝试用 R 编写一个程序 当给定一个向量时 将返回所有可能的tuples http en wikipedia org wiki Tuples该向量中的元素 例如 元组 c a b c c a b c 出租车 c a c c b c c
  • 将 Instagram/youtube 嵌入 Shiny R 应用程序

    我想通过点击图表来播放 Instagram 或 Youtube 视频 例如显示异常值等 到目前为止 明确告诉 Shiny 视频内容是有效的 require shiny require ggplot2 data df lt data fram
  • R 中具有稳健回归的异常值

    我正在使用lmrobR 中的函数使用robustbase用于稳健回归的库 我会把它用作 rob reg lt lmrob y 0 dat method MM control a1 当我想返回我使用的摘要时summary rob reg 稳健
  • 如何对同一列上的数据帧列表中的所有数据帧进行排序?

    我有一个数据框列表dataframes list 举个例子 我把dput dataframes list 在底部 我想对列列表中的所有数据框进行排序enrichment 我可以对一个数据框进行排序 first dataframe lt da
  • 如何在R中删除重复项

    我有一个非常大的数据集 如下所示 df lt data frame school c a a a b b c c c year c 3 3 1 4 2 4 3 1 GPA c 4 4 4 3 3 3 2 2 school year GPA
  • LDA with topicmodels,如何查看不同文档属于哪些主题?

    我正在使用 topicmodels 包中的 LDA 我已经在大约 30 000 个文档上运行它 获取了 30 个主题 并获得了主题的前 10 个单词 它们看起来非常好 但我想看看哪些文档属于哪个主题的概率最高 我该怎么做 myCorpus
  • kableExtra 中的 row_spec() 函数不会在 html 输出中创建水平线

    我想在 kableextra 表中的某一行下方添加一条水平线 row spec 函数的参数 hline after 应该在行下方添加水平线 row spec 文档 https www rdocumentation org packages
  • 如何在for循环中引用变量?

    我正在循环访问不同的 data tables 和 data table 中的变量 但我在引用内部变量时遇到问题for loop dt1 lt data table a1 c 1 2 3 a2 c 4 5 2 dt2 lt data tabl
  • R中的一元加/减是什么?

    来自 R 的详细信息部分Syntax http stat ethz ch R manual R patched library base html Syntax html帮助页面 定义了以下一元和二元运算符 他们被列出 在优先级组中 从最高
  • 通过间接引用列来修改数据框中的某些值

    我正在整理一些数据 我们将失败的数据分类到垃圾箱中 并按批次计算每个分类箱的有限产量 我有一个描述排序箱的元表 这些行按升序测试顺序排列 一些排序标签带有非语法名称 sort tbl lt tibble tribble weight lab
  • 如何使用 usmap 标记数字而不是名称?

    我知道 usmap 有一个选项label in plot usmap 我想标记一些数字 而不是状态名称 我想 usmap 中应该有与州质心坐标相关的数据 但我不知道如何找到它 如果我能得到 坐标然后我可以用它来标记数字geom text 这
  • kernlab 中 SVM 训练之外的核矩阵计算

    我正在开发一种新算法 该算法可以生成修改后的核矩阵以用于 SVM 训练 但遇到了一个奇怪的问题 出于测试目的 我比较了使用 kernelMatrix 接口和普通内核接口学习的 SVM 模型 例如 Model with kernelMatri
  • twitterR 和 ROAuth R 软件包安装

    我在安装 CRAN 上的 twitteR 和 RAOuth 软件包时遇到一些问题 我尝试了几种不同的方法 在 Windows 下使用源代码 在 Ubuntu 下使用 RStudio 我尝试了以下命令 sudo apt get install
  • 从命令行运行 R 代码 (Windows)

    我在名为 analysis r 的文件中有一些 R 代码 我希望能够从命令行 CMD 运行该文件中的代码 而无需通过 R 终端 并且我还希望能够传递参数并在我的代码中使用这些参数 例如就像下面的伪代码 C gt execute r scri
  • R独特的列或行与NA无可比拟

    有谁知道如果incomparables的论证unique or duplicated 曾经被实施过incomparables FALSE 也许我不明白它应该如何工作 无论如何 我正在寻找一个巧妙的解决方案 以仅保留与另一列相同的唯一列 或行
  • 朴素贝叶斯分类器仅基于先验概率做出决策

    我试图根据推文的情绪将推文分为三类 买入 持有 卖出 我正在使用 R 和包 e1071 我有两个数据框 一个训练集和一组需要预测情绪的新推文 训练集数据框 text sentiment this stock is a good buy Bu
  • 更改闪亮 R 中的默认浏览器

    我在 RStudio 中使用 01 hello 虽然在 IE 中默认打开程序时它不会显示直方图 但即使在 Chrome 中 滑块也不起作用 我无法滑动条形图并看到直方图中的变化 如何更改 R 中的默认浏览器 以便闪亮启动 Chrome 而不

随机推荐

  • 将项目垂直排列在行/列中,而不是水平排列

    我正在创建一个 html 页面 并希望切换到页面的滚动和浮动 所以在 body 或 div 中我想要一个项目列表 每个项目都应该位于前一个项目的下方 除非触及 div 的末尾 然后它应该位于较高的部分 依此类推 因此 如果要显示的内容太多
  • 在 PHP 会话中存储对象

    PHP 文档说 您不能在会话变量中使用引用 因为没有可行的方法来恢复对另一个变量的引用 这是否意味着我不能拥有类似的东西 session start user new User user gt name blah SESSION user
  • 透明 Bootstrap 导航栏

    我正在开发一个网站 我希望导航 仅主页 是透明的并且图像覆盖全屏 这是我到目前为止所拥有的 导航栏采用这种方式设计 因为其他页面上也是如此 这是我的 HTML div class container fluid div
  • 按方案中对的第二个元素对对列表进行排序

    我在方案中有一个程序 它给我一个对的列表 我需要按对的第二个元素对该列表进行降序排序 像这样 1 1 2 3 3 2 gt 2 3 3 2 1 1 1 1 x 3 2 1 3 1 gt x 3 1 1 2 1 3 1 1 3 3 4 2 2
  • Pyspark - df.cache().count() 需要永远运行

    我正在尝试使用我在网上阅读的计数方法强制对 PySpark 进行热切评估 spark df spark read jdbc url jdbcUrl table pushdown query properties connectionProp
  • 高效批量更新rails数据库

    我正在尝试构建一个 rake 实用程序 它会经常更新我的数据库 这是我到目前为止的代码 namespace utils do utils update ip Downloads the file frim
  • .Net“任何框架”配置

    我用 C NET 2 0 构建了一个程序 该程序在框架 3 0 和 3 5 下也能很好地工作 但如果 NET Framework 4 0是唯一安装的框架 则它不起作用 需要用户安装2 0 我在google中找到了以下配置
  • 堆栈与堆属性的 QT 特定差异?

    通常 在编写 C 代码时 我会始终将对象保留为普通属性 从而利用 RAII 然而 在 QT 中 删除对象的责任可以由析构函数承担QObject 因此 假设我们定义了一些特定的小部件 那么我们有两种可能性 1 使用QT的系统 class Wi
  • 不允许从一个 Google 电子表格访问另一个 Google 电子表格

    我试图通过其他电子表格中的 onEdit 事件为我的 Google 电子表格设置新值 我收到异常 不允许执行操作 我不明白我到底做错了什么 我会很高兴得到你的帮助 因为我只是在 JS Google Docs 脚本中做第一步 function
  • 将函数与 numpy 数组的每个元素积分作为积分极限

    我在 python 中有一个函数 也使用 scipy 和 numpy 定义为 import numpy as np from scipy import integrate LCDMf lambda x 1 0 np sqrt 0 3 1 x
  • 尝试使用 groupby 查找每月 5 个最大值

    我试图显示前三个值nc type每个月 我尝试使用n largest但这并没有按日期完成 原始数据 area nc type occurred date 0 Filling x 12 23 2015 0 00 1 Filling f 12
  • ddply+summary函数列名输入

    我正在尝试使用ddply and summarise一起从plyr包 但在解析不断变化的列名时遇到困难 在我的示例中 我想要一些能够以编程方式在 X1 中解析的东西 而不是在 X1 中硬编码到 ddply 函数中 举例说明 require
  • Android - 无法隐藏进度条

    因此 我检查了其他问题以隐藏进度条 但所有问题似乎都建议做我已经在做的事情 我正在尝试使用 mProductListProgressBar setVisibility View GONE 我找到它 mProductListProgressB
  • Makefile 更新了库依赖项

    我有一个很大的 makefile 它构建几个库 安装它们 然后继续构建链接到这些已安装库的对象 我的麻烦是我想使用 lfoo lbar 作为 g 标志来链接两个已安装的库 但依赖关系变得混乱 如果我更改库 foo 所依赖的标头 42 h 那
  • 查找 python 的安装位置(如果不是默认目录)

    Python 在我的机器上 我只是不知道在哪里 如果我在终端中输入 python 它将打开 Python 2 6 4 这不在它的默认目录中 肯定有一种方法可以从这里找到它的安装位置 sys有一些有用的东西 python Python 2 6
  • 如何在 3D 空间中围绕 x 轴旋转正方形

    所以我一直在尝试学习 3D 渲染是如何工作的 我尝试编写一个脚本 目标是在 3D 空间中旋转平面 2D 正方形 我首先在标准化空间 1 1 中定义一个正方形 请注意 只有 x 和 y 被标准化 class Vec3 3D VECTOR de
  • 为什么在尝试从列表中删除元素时会收到 UnsupportedOperationException?

    我有这个代码 public static String SelectRandomFromTemplate String template int count String split template split List
  • Python Selenium onclick 抛出 ElementNotInteractableException

    在我想使用 Selenium 进行交互的网站上 有以下 html 代码部分 a href img src img rename png 1 alt change name title change name a 这显示了一个小图像 单击该图
  • 根据单元格值更改 Excel 中的弧长

    我想根据单元格值动态更改 Excel 中的弧长 例如 如果单元格值 100 则拱形应成为完整的圆形 如果该值 0 它应该消失 我发现下面的代码可以更改形状的大小 但我不知道如何修改它来更改长度 Example 非常感谢您的帮助 Privat
  • 通过变量之一的值设置堆积条形图的顺序

    我被要求制作一个堆叠条形图 其中的条形和值以精确的方式堆叠和排序 在本例中 A3 在左侧 A2 在中间 A1 在右侧 我已经解决了 我没有注意到的是 我还被要求按 A1 的值降序排列条形 在这种情况下 这意味着 值 11 出现在顶部 按降序