ggplot2 的小提琴图与 x 轴上的数据集的顺序不同

2024-01-10

I created the violin plot using below code, But on the x-axis, Models name are not in order as in the data set (i.e. "Observed", "SVM", "Grid_SVM", "MARS", "Grid_Mars", "RF", "Grid_RF"). Where the edit is required in the code?

ggplot(df1, aes(x = Model, y = Pb), cex.lab = 18, cex.axis=18) +
  geom_violin(trim=FALSE, fill = "palegreen") +
  geom_boxplot(width = .12, fill = "orange", outlier.color = "orange", outlier.size = 2) + 
  labs(title = "Pb Adsorption distribution by Models over testing phase") + xlab("Models") + ylab("Pb Adsorption distribution")+ theme_classic() +
  theme(
  plot.title = element_text(size = 12, colour = "black", face = "bold"), #for Main Title
  axis.title.x = element_text(size = 12, colour = "black", face = "bold"), #for axix title
  axis.title.y = element_text(size = 12, colour = "black", face = "bold"),
  axis.text.x = element_text(face="bold", color="darkblue", size=12, angle=0), #for axis tick
  axis.text.y = element_text(face="bold", color="black", size=12, angle=0))

默认情况下,ggplot2 按字母顺序绘制字符向量。要对绘图放置指定的顺序,只需使用 dplyr 并将列创建为factor()并指定您想要的级别。然后 ggplot2 应该按照你想要的方式绘制它。

Edit #1一种方法是修改df1数据框与 ggplot2 命令字符串分开。你可以这样做

df1 <- df1 %>%
  mutate( Model=factor(Model,levels=c("Observed", "SVM", "Grid_SVM", "MARS", "Grid_Mars", "RF", "Grid_RF")) )

然后调用您上面发布的 ggplot2 命令字符串。

Edit #2(来自下面的评论)

如果您想通过管道传输所有内容并一次性完成所有操作,请尝试

df1 %>%
  mutate( Model=factor(Model,levels=c("Observed", "SVM", "Grid_SVM", "MARS", "Grid_Mars", "RF", "Grid_RF")) ) %>%
  ggplot( aes(x = Model, y = Pb), cex.lab = 18, cex.axis=18) +
  geom_violin(trim=FALSE, fill = "palegreen") +
  geom_boxplot(width = .12, fill = "orange", outlier.color = "orange", outlier.size = 2) + 
  labs(title = "Pb Adsorption distribution by Models over testing phase") + xlab("Models") + ylab("Pb Adsorption distribution")+ theme_classic() +
  theme(
  plot.title = element_text(size = 12, colour = "black", face = "bold"), #for Main Title
  axis.title.x = element_text(size = 12, colour = "black", face = "bold"), #for axix title
  axis.title.y = element_text(size = 12, colour = "black", face = "bold"),
  axis.text.x = element_text(face="bold", color="darkblue", size=12, angle=0), #for axis tick
  axis.text.y = element_text(face="bold", color="black", size=12, angle=0))

最初的建议是覆盖数据。然后在新的链中生成绘图。

df1 <- df1 %>%
  mutate( Model=factor(Model,levels=c("Observed", "SVM", "Grid_SVM", "MARS", "Grid_Mars", "RF", "Grid_RF")) )

ggplot( df1, aes(x = Model, y = Pb), cex.lab = 18, cex.axis=18) +
  geom_violin(trim=FALSE, fill = "palegreen") +
  geom_boxplot(width = .12, fill = "orange", outlier.color = "orange", outlier.size = 2) + 
  labs(title = "Pb Adsorption distribution by Models over testing phase") + xlab("Models") + ylab("Pb Adsorption distribution")+ theme_classic() +
  theme(
  plot.title = element_text(size = 12, colour = "black", face = "bold"), #for Main Title
  axis.title.x = element_text(size = 12, colour = "black", face = "bold"), #for axix title
  axis.title.y = element_text(size = 12, colour = "black", face = "bold"),
  axis.text.x = element_text(face="bold", color="darkblue", size=12, angle=0), #for axis tick
  axis.text.y = element_text(face="bold", color="black", size=12, angle=0))

以上任何一个都可以。

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

ggplot2 的小提琴图与 x 轴上的数据集的顺序不同 的相关文章

  • 有没有一种简单的方法可以根据多个标准进行排名,从而保留 R 中的联系?

    当单个标准排序良好时 rank 函数会返回明显的结果 rank c 2 4 1 3 5 1 2 4 1 3 5 当单个标准具有联系时 排名函数 默认情况下 将平均排名分配给联系 rank c 2 4 1 1 5 1 3 0 4 0 1 5
  • 将 read.csv 与符号链接文件一起使用

    我正在尝试做什么 我的源文件非常大 我想避免将其复制到其他文件夹中 我决定创建一个指向大文件的符号链接并想使用read csv读取文件 文件夹结构 项目1 数据 源文件 csv 项目2 数据 别名到源文件 csv 什么地方出了错 读取源文件
  • R:编写抛硬币的随机采样程序

    假设我们有以下情况 有一枚硬币 如果它正面朝上 那么下一次抛掷正面的概率是 0 6 如果是反面 那么下一次抛掷反面的概率也是 0 6 一个班有100名学生 每个学生随机抛掷硬币几次 Student n 的最后一次抛硬币不会影响 Studen
  • jupyter 中的 r 图形 - 无法启动 png() 设备

    我在 Jupyter 中使用 R 但无法在笔记本本身中绘制图表 这是一个可重现的示例 set seed 123 mat as matrix x rnorm 100 y rnorm 100 plot mat 在朱皮特中 Error in pn
  • 如何从R中的日期中提取月份

    我正在使用lubridate封装并应用month从日期中提取月份的函数 我在日期字段上运行了 str 命令 得到了 Factor w 9498 levels 01 01 1979 01 01 1980 5305 1 1 1 1 1 1 1
  • 回归时如何设置系数值;右

    我正在寻找一种指定预测变量值的方法 当我使用当前数据运行 glm 时 其中一个变量的系数接近 1 我想将其设置为 0 8 我知道这会给我一个较低的 R 2 值 但我先验地知道模型的预测能力会更大 glm 的权重组件看起来很有希望 但我还没有
  • 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
  • stat_function 从函数生成平线

    我有以下代码 library ggplot2 f lt function x if x gt 2 1 x 0 3 else 0 graph lt ggplot data frame x c 0 10 aes x graph lt graph
  • ggplot 图例标签内的希腊字母、符号和换行符

    我在尝试着 有换行符 自动或强制 对齐文本 左对齐或左右对齐 有希腊字母和百分号 在 gglot 图例标签内 我尝试了几种方法 但我似乎无法将我读到的所有技巧结合起来 我可以通过插入来换行 n进入标签 但这似乎不适用于希腊字母 不适用于图例
  • 将不同的 grViz 组合成一个图

    我想结合不同的DiagrammeR绘制成一个图形 生成的图如下例所示 library DiagrammeR pDia lt grViz digraph boxes and circles a graph statement graph ov
  • 如何有效地将多个光栅 (.tif) 文件导入 R

    我是 R 新手 尤其是在空间数据方面 我正在尝试找到一种方法来有效地将多个 600 单波段栅格 tif 文件导入到 R 中 所有文件都存储在同一文件夹中 不确定这是否重要 但请注意 在我的 Mac 和 Windows 并行 VM 上的文件夹
  • R闪亮:使用闪亮的JS从数据表中获取信息

    我想读出所有列名称以及它们在数据表中显示的顺序 由于不同的原因 我无法使用 stateSave 等选项 我对 JS 没有什么把握 但我确信用它可以完成 所以我需要你帮助我 我尝试过类似的代码片段 datatable data callbac
  • 在`rmarkdown`中,如何在句子中添加图标?

    In rmarkdown 如何在句子中添加图标 例如如下 如何添加markdown icon单词 Markdown 和 is 之间 有一个很好的 R 包 可以轻松下载 RMarkdown 文档并将图标添加到其中 icons https gi
  • 根据 R 数据框中的名称对列进行平均

    我想知道是否有一种有效的方法来获取每组的平均值类似命名的列谁的名字结尾为 1S and 2S ex ex1S ex2S at time 1并取每组的平均值类似命名的列谁的名字结尾为 1C or 2C ex ex1C ex2C at time
  • 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
  • 如何总结此R问题中的销售数量、售出酒类数量和花费金额

    我使用以下代码在 R 上上传我的数据 if file exists ames liquor rds url lt https github com ds202 at ISU materials blob master 03 tidyvers
  • dplyr 中的标准评估:全局环境中的函数出现“无法找到函数”错误

    我试图在 dplyr 中对全局环境中的函数使用标准评估 但出现 无法找到函数 错误 这是一些代码 create data frame df lt data frame x rnorm 10 y rnorm 10 define arbitra
  • 通过 Shiny 中的串扰将 Plotly 与 DT 结合使用

    我正在编写一个应用程序来将 csv 文件读取为闪亮的并将散点图与 DT 表链接起来 我几乎遵循了 Plotly 网站上 DT 数据表上的示例 https plot ly r datatable https plot ly r datatab
  • R data.table 1.9.2 关于 setkey 的问题

    这似乎是 1 8 10 后引入的一个错误 与包含列表的 DT 的 setkey 相关 运行下面两个代码来查看问题 library data table dtl lt list dtl 1 lt data table scenario 1 p

随机推荐

  • 使用 sed、awk、tr 和朋友删除尾随/开始换行符

    我想从文件中删除所有空行 但仅当它们位于文件的末尾 开头时 也就是说 如果它们之前没有非空行 则在开头 并且如果有最后 其后没有非空行 除了 Perl 或 Ruby 等功能齐全的脚本语言之外 这是否可能 我更愿意这样做sed or awk如
  • Haskell:检查两个列表是否相等

    我想检查是否有两个列表A and B是相等的 即a1 b1 a2 b2 我有一个可行的解决方案 all x gt x zipWith A B 另一个想法是递归地执行 a as b bs 检查是否a1 b1并使用剩余列表调用该函数as and
  • 在超类中缓存属性

    例如 我有一个类可以缓存一些值以避免多次计算它们 class A object def init self a b self a a self b b self value None property def value self if s
  • Github 创建带有 2 因素身份验证的令牌

    我正在尝试授权用户并取回令牌 用户已启用两因素身份验证 这是我尝试使用的代码 它不会接受我通过短信获得的代码 如果用户未启用 2fa 则此方法有效 curl i u user H X GitHub OTP code d scopes rep
  • 带中继的 TypeScript:无法解析生成的模块

    In my MessageItem tsx组件我有以下代码 const data useFragment graphql fragment MessageItem message on Message date body message a
  • spaCy 共指解析 - 命名实体识别 (NER) 返回唯一实体 ID?

    也许我跳过了部分文档 但我试图确定标准 NER 工具集中每个实体的唯一 ID 例如 import spacy from spacy import displacy import en core web sm nlp en core web
  • 如何使用webcal协议

    我想创建一个文件 可以使用webcal 协议 最终目标是让用户订阅共享日历 我知道这可以通过一百万种不同的方式来完成 而且webcal有缺点 但请将此问题视为技术问题webcal并且不提供替代方案 如果我希望它允许用户订阅共享日历 其内容应
  • 使用“如果单元格包含#N/A”作为公式条件。

    我需要有关 Excel 工作表的帮助 我如何声明以下内容IF状态正常吗 if A1 n a then C1 B1 else if A1 n a or has value int then C1 A1 B1 在中输入以下公式C1 IF ISN
  • 谷歌分析帐户ios配置

    我正在尝试配置谷歌分析GoogleService info plist文件来自谷歌开发者网站 https developers google com mobile add 昨天我配置了一个应用程序 没有出现任何问题 但今天我无法配置我的第二
  • 如何构建混合阵列

    在 ruby 中 我可以创建充满类型的数组 1 hello world Fixnum String Symbol gt 1 hello here Go中如何实现类似的数组填充混合类型 如何声明数组 您可以通过空界面来做到这一点 interf
  • 拖动时自动滚动可放置的 div

    在这个小提琴中 http jsfiddle net adrianjsfiddlenetuser zyUkd 76 http jsfiddle net adrianjsfiddlenetuser zyUkd 76 没有粉红色背景颜色的按钮可以
  • 随机生成器和 CUDA

    我有一个关于 CUDA 中的随机生成器的问题 我使用 Curand 生成随机数 代码如下 device float priceValue int threadid unsigned int seed threadid curandState
  • 条件属性如何工作?

    我有一些标记为的辅助方法 Conditional XXX 目的是在仅存在 XXX 条件编译符号时使方法进行条件编译 我们使用它来调试和跟踪功能 并且效果很好 在我研究条件编译如何工作的过程中 我发现了几个资料来源 说明了标记有Conditi
  • Android 无法绑定到服务(在应用程序计费中)

    我正在尝试在我的应用程序中实现应用程序计费 但我遇到了一些问题 我正在使用 Android 开发人员网站上的示例 每次我启动将连接到计费服务的活动时 它都会向我显示一个无法连接到服务器的对话框 当我按 了解更多 时 它会转到一个正在解释我的
  • 将右侧“完成”按钮 (UIBarButtonItem) 添加到 UINavigationController

    我看到这里有人问了类似的问题 如何向 UINavigationController 添加右键 https stackoverflow com questions 1219779 how to add a right button to a
  • VS Code 找不到 python 3 解释器

    我是第一次安装 Python 3 7 2 并且使用 VS Code python 扩展 当我跑步时python V I get Python 2 7 10这是不正确的 当我选择usr local bin python3VS Code 中的解
  • 一个应用程序中有两个 google-services.json (具有不同的帐户)

    是否可以在 Android 应用程序中使用两个不同的帐户来访问谷歌的两种不同服务 我想通过帐户使用 Google Analytics 分析 电子邮件受保护 cdn cgi l email protection和 Firebase 帐户崩溃报
  • “git checkout <文件名>”和“git checkout -​- <文件名>”之间的区别

    http norbauer com notebooks code notes git revert reset a single file http norbauer com notebooks code notes git revert
  • 主要编译器/工具链对 C99 的支持状况如何?

    对我在这里发表的评论的回应让我停下来思考 我真的不知道 C99 支持的状况如何 维基百科提供了一些编译器的详细信息 但我对 C99 不够熟悉 无法了解该标准的所有细节 因此我正在寻找该问题的格式塔概述答案 主要编译器 工具链对 C99 的支
  • ggplot2 的小提琴图与 x 轴上的数据集的顺序不同

    I created the using below code But on the x axis Models name are not in order as in the data set i e Observed SVM Grid S