更改 ggplot2 中堆叠填充列的顺序

2024-04-06

我想更改堆积条形图的顺序。 例如,在mpg我想订购c("4", "r", "f")

是改变因素水平的唯一方法吗?

library(ggplot2)
library(dplyr)
s <- ggplot(mpg, aes(fl, fill=drv)) + geom_bar(position="stack")
s

输入数据的结构是字符:

str(mpg$drv)

> chr [1:234] "f" "f" "f" "f" "f" "f" "f" "4" "4" "4" "4" "4" "4" "4" "4" "4" "4" "4" "r" "r" "r" "r" "r" "r" "r" "r" "r" "r" "4" "4" "4" "4" "f" "f" "f" "f" "f" "f" "f" "f" "f" "f" "f" ...

ggplot 会自动将字符串转换为因子。您可以看到默认排序如下,此转换按字母顺序对它们进行排名:

levels(as.factor(mpg$drv))
> "4" "f" "r"

要在不更改原始数据的情况下对条形图重新排序,您可以重构图中本身的变量:

ggplot(mpg, aes(fl, fill = factor(drv, levels=c("4", "r", "f")))) + 
  geom_bar(position="stack") +
  labs(fill = "Drive")

比较结果:

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

更改 ggplot2 中堆叠填充列的顺序 的相关文章

  • 使用 kableExtra 增加行/行间距

    有没有办法在 r markdown 或 bookdown 中使用 kableExtra 增加 pdf 输出的行间距 library knitr library kableExtra kable head iris 5 caption Iri
  • 将 RMarkdown 文档编织为 Word 时方程式和引用丢失

    我不确定这个问题是否更适合LaTeX论坛 我将其发布在这里是因为我怀疑问题更多是关于knitr和 RMarkdown 相比于 LaTeX 我在 RStudio 中有以下 RMarkdown 文档 title Capricious Behav
  • 聚合时间

    我的数据包含 1 分钟测量值 我希望将其聚合为 5 分钟和 10 分钟 如何在 10 分钟内将 日 列的数据分组为 5 样本数据2 structure list Day c Monday Monday Monday Monday Monda
  • mutate() 尝试在使用美元符号运算符时使用全局变量的值进行提取

    我使用得到了有趣的结果mutate with a 当全局环境中碰巧存在与要提取的元素同名的变量时进行提取 我正在运行 R 3 1 3 和 dplyr 0 4 3 9 这工作正常 library dplyr df lt data frame
  • 获取非零数据的列意味着

    R 可以获得数据帧非零值的 colMeans 吗 data lt data frame col1 c 1 0 1 0 3 3 col2 c 5 0 5 0 7 7 colMeans data 1 33 4 我想要这样的东西 mean dat
  • r - 根据第一个向量重新排序第二个向量

    寻找解决方案来执行以下操作 有两个向量 a lt c 2 1 3 4 7 6 5 9 8 10 b lt c 3 2 1 6 5 4 7 8 9 10 我想创建第三个向量 它给出向量的顺序b需要重新排序 使其顺序与a 在这种情况下我想得到
  • 使用不同的阈值替换多列中的值

    我有一个包含多个列的数据集 其中包含我想要转换为二进制的定量数据 为此 我想使用每列不同的阈值 Example Input antigen1 antigen2 antigen3 antigen4 1 215 421 2 12 2 1524
  • 在 R 中编写多重积分函数

    为了将以下内容转换为函数 我想知道如何用 R 代码编写以下二重积分 bar x mu 假设pi0 and pi1以向量化方式实现函数 pi 0 和 pi 1 可能的解决方案是 integral lt function n mu s pi0
  • 如何测试字符串中的前三个字符是r中的字母还是数字?

    下面给出了我拥有的数据集的示例 请注意 总数据集中我有超过两列 ID X 1 MJF34 2 GA249D 3 DEW235R 4 4SDFR3 5 DAS3 我想测试 X 中的前三个字符是否是字母 如果是 那么我想替换该值以仅显示前三个字
  • dplyr::mutate 添加多个值

    网上有几个与此相关的问题dplyr Github 存储库 https github com hadley dplyr已经 并且至少有一个相关的问题 但没有一个问题完全涵盖了我的问题 我认为 在 dplyr mutate 调用中添加多列 ht
  • 在 R 中查找 Windows 用户名

    有没有办法在 R 会话中获取当前的 Windows 用户名或 Windows 主目录 Thanks 抱歉 如果我错过了什么 但我找不到任何东西 你可以做 Sys getenv USERNAME Sys getenv HOME 如果你只是输入
  • 如何为 nls 函数找到良好的起始值?

    我不明白为什么我不能对这些数据使用 nls 函数 我尝试过很多不同的起始值 但总是出现相同的错误 这是我一直在做的事情 expFct2 function x a b c a 1 exp x b c vec x lt c 77 87 87 7
  • 将角色分成几部分

    我观察到以下特征 l lt mod range1 seq m n 0 1 range2 seq 2 2 0 1 range3 seq 2 2 0 1 在 R 中使用正则表达式我想要拆分l在以下结构中 1 mod range1 seq m n
  • 在另一个函数中定义一个函数的优雅方式

    我想构建 f lt function g lt function x x 2 list 这样我就可以使用调用f g 4 并有list 导致list 16 一般来说我会在里面定义几个临时函数f用户在调用时可以调用f 我已经尝试过assign
  • R 中自定义函数的等高线图

    我正在使用一些自定义函数 我需要根据参数的多个值为它们绘制轮廓 这是一个示例函数 我需要画这样的等高线图 任何想法 Thanks 首先你构造一个函数 fourvar它将这四个参数作为参数 在这种情况下 您可以使用 3 个变量来完成此操作 其
  • 重叠并固定小平面中的 x 尺度(尺度=“自由”)以制作电影

    在另一篇文章中 Justin 的帮助下 我用以下方法绘制了模拟结果facet gridggplot2 中的选项 包含数据和答案的帖子在这里 使用facet grid选项通过ggplot2绘制数据框的列 https stackoverflow
  • 在 r 中使用 SSasymp

    我想我不知道如何在 r 中使用 SSasymp 函数 我想为我的项目创建一个渐近函数 我试过这个 c lt seq 0 200 0 5 d lt SSasymp c 500 0 log 50 plot c d type l log 50 应
  • 如何合并具有相同列名的数据框

    我有一个数据框 如下所示 structure list Variables structure list ADA ADA LEAD LEAD BIG4 BIG4 LOGMKT LOGMKT LEV LEV ROA ROA ROAL ROAL
  • 将从数据透视表包生成的数据透视表转换为数据帧

    我正在尝试制作一个数据透视表pivottabler包裹 我想将数据透视表对象转换为数据框 以便我可以将其转换为数据表 带有 DT 并在 Shiny 应用程序中渲染它 以便可以下载 library pivottabler pt qpvt mt
  • R中的引用调用(使用函数修改对象)

    我刚刚接触 R 很惊讶地发现函数不会修改对象 至少看起来这是默认的 例如 我编写了一个函数 只是为了在表格中的一个标签上粘贴一个星号 它在函数内部工作 但表本身没有改变 我主要来自Ruby 那么 在 R 中使用函数更改对象的正常 可接受的方

随机推荐

  • insertMany 与 Mongoose 中的 collection.insert 有何不同?

    我四处寻找使用 Mongoose 将大量文档插入 MongoDB 的正确解决方案 我当前的解决方案如下所示 MongoClient saveData function RecordModel data priority SCHID call
  • 在 GWT 中创建流体面板来填充页面?

    我希望 GWT 中的面板能够填充页面 而无需实际设置大小 有没有办法做到这一点 目前我有以下内容 public class Main implements EntryPoint public void onModuleLoad Horizo
  • T4MVC 当前上下文隐含的可选参数值

    我注意到 T4MVC 存在一些奇怪的行为 具体来说 我尝试为可选参数值为 null 的操作构建 ActionLink 使用 HtmlHelper 这在大多数情况下都工作得很好 但是 如果当前路由与正在为其构建 ActionLink 的路由相
  • 如何使用助记词创建Web3py帐户

    我正在使用 web3 制作自己的桌面 BSC 钱包 目前我正在使用 private key private key account w3 eth account privateKeyToAccount private key 但我想使用助记
  • 如何在 googlemaps url 中设置航点

    我有一个带有地图的网站 我有一个文本字段 在其中输入我想要前往已设置的特定目的地的城市名称 为了到达这个目的地 我在代码中硬编码了路径点 所有这些都很好用 我现在有一个按钮 单击该按钮会给我指示 文本格式 当我单击另一个按钮时 我会得到一个
  • 如何向 NSTableView 添加页脚视图?

    看起来NSTableView没有相当于UITableView s tableFooterView财产 在 Cocoa 中将页脚视图添加到表格视图的首选方法是什么 NSTableView 没有像 UITableView 或 NSCollect
  • laravel 5.7 中类不存在反射异常错误

    我的 api php Route get getProducts ProductController getProducts 产品控制器 php
  • ASP.NET Ajax 工具包滑块手柄显示损坏的图像

    使用已经运行多年的 ASP NET 4 5 Web Forms 项目 出现了一个新问题 ASP NET Ajax Control Toolkit Slider 停止渲染图像 它是一个损坏的图像符号 通常在 句柄 处渲染 这只发生在 IE11
  • “一股烟雾”效果 javascript 精灵动画

    此代码和动画在 jQuery 1 4 4 及更低版本上完美运行 但不适用于更高版本 任何人都可以阐明这个问题并帮助开发一个适用于最新 jQuery 的版本 我在下面提供了一个小提琴 http jsfiddle net Y7Ek4 10 ht
  • grep 在 R 中固定 =T 的字符串开头?

    如何 grep 与fixed T 但仅在字符串的开头 grep a c a b cac sss ca f fixed T 1 4 我只想得到第一次出现的结果 编辑 要匹配的字符串事先未知 可以是任何内容 A 只是为了举例 Thanks 编辑
  • Android Java rxjava 线程抓取网页

    我必须抓取一个网页 我必须获取所有具有data component type等于s search result并将它们放入PC类型的ArrayList中 它具有一些属性 但我不知道如何使用 Retrofit 进行解析 有人可以帮我吗 RxJ
  • 柯里化和部分应用有什么区别?

    我经常在互联网上看到各种抱怨 认为其他人的柯里化示例不是柯里化 而实际上只是部分应用 我还没有找到关于什么是部分应用或者它与柯里化有何不同的合理解释 似乎存在普遍的混乱 等效的示例在某些地方被描述为柯里化 而在其他地方则被描述为部分应用 有
  • 雄辩的push()和save()区别

    我读过关于 eloquent 的 laravel 4 文档 并且对 Push 部分很感兴趣 它说 有时您可能不仅希望保存模型 还希望保存其所有关系 为此 您可以使用推送方法 保存模型和关系 user gt push 请参阅此处的链接 htt
  • Maven - 在当前项目中找不到前缀“wildfly”的插件

    我正在使用 Wildfly 8 我需要使用 JSR 352 中的 java 批处理处理器 我从以下位置下载了示例https github com javaee samples javaee7 samples https github com
  • 通过 BASH 将空格替换为下划线

    假设我有一个字符串 str 我希望编辑 str 使其中的所有空格都替换为下划线 Example a hello world 我想要的最终输出 echo a to be 你好世界 您可以尝试以下操作 str str
  • 如何在 VScode 中使用带有 R 内核的 Jupyter Notebook?

    现在我可以在 Web 浏览器中使用带有 R kernal 的 jupyter lab 并使用 VS Code 使用 python kernal 编辑 jupyter Notebook 代码 是否可以使用 Jupyter Notebook 模
  • Django 管理加载没有 CSS

    我创建了一个新的 Django 应用程序 我注意到它的管理页面加载时没有 CSS 我设置了STATIC URL和STATIC ROOT在settings py中根据this https stackoverflow com questions
  • SQL Server中模拟Oracle的CONNECT BY PRIOR

    如何在SQL Server 2000 2005 2008中获得Oracle的CONNECT BY PRIOR功能 实现递归查询的 SQL 标准方法 例如实现的通过 IBM DB2 和SQL服务器 http msdn microsoft co
  • 处理 Scalaz6 验证列表

    在 Scalaz6 中是否有一种惯用的方法来处理验证集合 val results Seq Validation A B val exceptions results collect case Failure exception gt exc
  • 更改 ggplot2 中堆叠填充列的顺序

    我想更改堆积条形图的顺序 例如 在mpg我想订购c 4 r f 是改变因素水平的唯一方法吗 library ggplot2 library dplyr s lt ggplot mpg aes fl fill drv geom bar pos