更改 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 中堆叠填充列的顺序 的相关文章

  • 无效的命令名称“tk_chooseDirectory”错误

    我使用 bioconductor 进行 WES 管道 并使用 tk choose dir 选择用户存储输入文件的目录 并将其存储以供进一步使用 这里是命令行 library tcltk dataDir lt dirname tk choos
  • R 带有列和行的分面 qqplots

    我需要使用按行和列的构面创建 qqplot 我了解如何用列和行绘制分面图 但我不确定如何设置我的数据 最终 我想按列和行对数据集进行分组 然后按升序对 建模 结果和 观察到 结果进行排序 同时添加带有 行 组的列和带有 列 组的列 我一直在
  • 配置 fix() 和 edit() 以从 R/RStudio 在 Notepad++ 中打开

    当我在 RStudio 或 RGUI 中执行此操作时 fix SomeFunction 或使用edit 我可以在记事本中看到该函数的代码 有什么方法可以更改此设置 以便代码预览在 Notepad 中打开 而不是在普通的旧记事本中打开 同样
  • ggsubplot 是否适用于 R 3.2.1+?

    CRAN 提供的 ggsubplot 版本与 R 的最新版本 例如 3 1 1 不兼容 运行 ggsubplot 示例会返回以下错误 Error in layout base data vars drop drop At least one
  • 使用 roxygen2 导入两个同名函数

    我是 CRAN 包的维护者 在加载时收到以下消息 checking whether package qdap can be installed 10s 10s WARNING Found the following significant
  • 如何在R中将英尺转换为厘米?

    我得到了一个高度的字符向量 如下所示 859 5 10 5 8 5 11 6 0 5 10 6 2 5 11 6 2 6 2 5 7 5 9 5 7 6 1 6 0 5 11 6 0 6 5 6 1 6 1 5 10 5 11 5 11 6
  • 在防风草模型上使用 VIP 包计算重要性度量

    我正在尝试使用 vi firm 在防风草中制作的逻辑回归模型上计算特征重要性 对于正则表达式 我将使用 iris 数据集并尝试预测观察结果是否为 setosa iris1 lt iris gt mutate class case when
  • R中使用余弦距离的层次聚类

    我想通过使用余弦相似度与 R 编程语言对文档语料库进行层次聚类 但出现以下错误 if is na n n gt 65536L stop 大小不能为 NA 或 超过 65536 需要 TRUE FALSE 时缺少值 我应该怎么办 为了重现它
  • R正则表达式获取第二个下划线之前的所有文本

    s lt 1 343 43Hello 2 323 14 fdh 99H 在 R 中 我想使用正则表达式来获取第二个下划线之前的子字符串 如何使用一个正则表达式来完成此操作 另一种方法是用 分割 然后粘贴前两个 一些东西 paste sapp
  • 跨类别和列自动化卡方

    我有一个调查数据框 其中包含几个问题 列 编码为 1 同意 0 不同意 受访者 行 根据 年龄 年轻 中年 老年 地区 东 中 西 等指标进行分类 大约有30个类别总共 3个年龄 3个地区 2个性别 11个职业等 在每个指标中 类别不重叠且
  • Shiny:从DT数据表中选定的行获取信息

    我们正在尝试重新创建示例 https demo shinyapps io 029 row selection https demo shinyapps io 029 row selection 使用DT包来渲染数据帧而不是shiny包 DT
  • R,igraph,是否可以用图案填充顶点

    使用 R 和 igraph 绘制图形 我使用颜色来标记顶点类型 请参阅下面的代码 是否可以用图案而不是颜色填充顶点 以便在以彩色和黑白查看时可以区分节点类型 我需要 4 种独特的颜色 图案 colorbrewer 中唯一适合的调色板是这个
  • R 中具有 p 值的相关矩阵

    假设我想要传导相关矩阵 library dplyr data iris iris gt select if is numeric gt cor y iris Petal Width method spearman gt round 2 现在
  • 构造奎因(自我复制功能)

    有没有人构建过 quine 生成自己源文本的副本作为其完整输出的程序 http www nyx net gthompso quine htm http www nyx net gthompso quine htm 在 R 中 quine 标
  • R中具有特定条件的多列变异

    我有这个数据 M1 M2 M3 UCL 1 2 3 1 5 我想在这种情况下创建新列 如果M1大于UCL MM1将为 UP 否则为 NULL 如果M2大于UCL MM2将为 UP 否则为 NULL 如果M3大于UCL MM3将为 UP 否则
  • 如何对范围内的行进行分组并考虑第三列?

    我有一个遗传数据集 我想对基因组中物理上靠近的遗传变异 行进行分组 我想对每条染色体基因组中某些点范围内的基因进行分组 chrom 我的 点 数据集包含变体 行需要在一定范围内的位置 如下所示 chrom low high 1 500 17
  • 如果值大于或小于,则替换数据框中的值

    我在 R 中操作数据帧时遇到问题 这是 R 中的基本内容 但我找不到执行此类操作的最佳命令 虚拟示例 Var1 20 300 39 Var2 49 23 91 Var3 0 239 210 我怎样才能用10如果值小于 则在第 2 列中10
  • ggplot2 + 使用比例 X 的日期结构

    我真的需要帮助 因为我已经迷路了 我正在尝试创建一个折线图 显示几个团队一年来的表现 我将一年分为几个季度 2012 年 1 月 1 日 2012 年 4 月 1 日 2012 年 8 月 1 日 12 1 12 并将 csv 数据帧加载到
  • 在 R 中读入原始二进制数据并将其转换为整数

    我有一个二进制文件 其中包含编码为不同长度 主要是 2 4 字节 的有符号或无符号整数的数值 为了处理这些数据 我将文件的所需部分读取为raw向量与readBin 然后尝试将其转换为十进制 问题是 R的内置函数有限制 我不太明白 比如没有l
  • 解压 R 数据框中的列表

    我有一个dataframe其中一个字段包含不同长度的列表 我想将该字段中列表的每个元素提取到其自己的字段中 以便我可以将结果收集到一个很长的字段中dataframe每个列表元素都有一个 id 这是一个例子dataframe dat lt s

随机推荐

  • 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