首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在pivot_longer之后重新排序ggplot中的条形图

,可以通过使用dplyr包中的arrange函数来实现。

首先,pivot_longer函数是tidyverse包中的一个函数,用于将数据从宽格式转换为长格式。在ggplot中,通常需要将数据转换为长格式才能正确绘制条形图。

假设我们有一个数据集df,包含以下列:id、category、value1、value2。其中,id列表示条形图的x轴,category列表示条形图的不同类别,value1和value2表示条形图的y轴值。

首先,使用pivot_longer函数将value1和value2转换为一列value和一列variable,代码如下:

代码语言:txt
复制
library(tidyr)
df_long <- df %>%
  pivot_longer(cols = c(value1, value2),
               names_to = "variable",
               values_to = "value")

接下来,使用arrange函数对df_long进行排序,代码如下:

代码语言:txt
复制
library(dplyr)
df_long_sorted <- df_long %>%
  arrange(id, category, variable)

最后,使用ggplot函数绘制条形图,代码如下:

代码语言:txt
复制
library(ggplot2)
ggplot(df_long_sorted, aes(x = id, y = value, fill = category)) +
  geom_bar(stat = "identity", position = "dodge") +
  facet_wrap(~ variable, scales = "free") +
  theme_bw()

在这个例子中,我们使用了ggplot2包来绘制条形图。通过设置x轴为id,y轴为value,fill为category,可以实现按照不同类别填充不同颜色的条形图。使用geom_bar函数绘制条形图,设置stat为"identity"表示使用原始数据绘制条形图,position为"dodge"表示将不同类别的条形图并排显示。使用facet_wrap函数可以将不同的variable分别显示在不同的子图中,设置scales为"free"表示每个子图的y轴刻度可以自由调整。最后,使用theme_bw函数设置图表的主题为黑白风格。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云计算服务:https://cloud.tencent.com/product
  • 腾讯云数据库:https://cloud.tencent.com/product/cdb
  • 腾讯云服务器:https://cloud.tencent.com/product/cvm
  • 腾讯云人工智能:https://cloud.tencent.com/product/ai
  • 腾讯云物联网:https://cloud.tencent.com/product/iot
  • 腾讯云移动开发:https://cloud.tencent.com/product/mobdev
  • 腾讯云存储:https://cloud.tencent.com/product/cos
  • 腾讯云区块链:https://cloud.tencent.com/product/baas
  • 腾讯云元宇宙:https://cloud.tencent.com/product/vr
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何更改ggplot2堆积条形图堆积顺序

图例修改 R语言之可视化(20)之geom_label()和geom_text() R语言之可视化(21)令人眼前一亮颜色包 R语言之可视化(22)绘制堆积条形图 R语言之可视化(23)高亮某一元素...R语言之可视化(24)生成带P值得箱线图 R语言之可视化(25)绘制相关图(ggcorr包) R语言之可视化(26)ggplot2绘制饼图 R语言之可视化(27)通过R语言制作BBC风格精美图片 R...语言之可视化(28)蜜蜂图 R语言之可视化(29)如何更改ggplot2堆积条形图堆积顺序 问题:如何控制由ggplot2创建堆积条堆积顺序。...解决方案 堆叠在数据框原始顺序 ra.melt$quality <- factor(ra.melt$quality, levels = ra$quality) p <- ggplot(ra.melt...如果我们想颠倒堆叠顺序但同时保留图例顺序,则使用参数* position_stack(reverse = TRUE)* p <- ggplot(ra.melt, aes(x = variable, y

12K31
  • 浅谈laravel框架sqlgroupBy之后排序问题

    最近在用框架给公司App写接口时,碰到了一个棘手问题: 对查询结果进行排序并进行分页(进行了简略修改),下面是最终结果代码: $example = Example::select(DB::raw('max...groupBy('this_id') - orderBy('some_id', 'desc') - skip($offset) - take($limit) - get(); 但是在这个过程,...groupBy字段必须是select字段,并且orderBy从句也必须是select字段。但是如果select字段使用聚合函数呢?...抱着 试一试态度,我运行了一下postman. binggo,通过!并且实现了效果。特此记录。...以上这篇浅谈laravel框架sqlgroupBy之后排序问题就是小编分享给大家全部内容了,希望能给大家一个参考。

    1.3K41

    免疫浸润结果可视化

    免疫浸润结果可视化 之前推文中我们介绍了2行代码实现9种免疫浸润方法,今天给大家介绍下常见免疫浸润结果可视化。 就以大家最常见cibersort为例进行介绍。...首先大家要对每种免疫浸润方法结果有一个大体认知,比如cibersort结果是各种免疫细胞样本比例,所以一个样本中所有的免疫细胞比例加起来总和是1! 但是ssGSEA就不是这样了。...element_blank(), legend.position = "bottom" ) p1 plot of chunk unnamed-chunk-19 除了这个最常见堆叠条形图...,不过就没有堆叠条形图了,因为加和不是1,堆叠起来就会参差不齐,毫无美感。...P值,所以我知道大家想自己画更加花里胡哨一点,很久之前我就介绍过了这个方法了:R语言ggplot2画相关性热图 画图前先准备下数据,把P值数据和相关系数数据整合到一起,所以借助linkET包也是有缺点

    1K30

    排序算法JDK应用(二)快速排序

    作者|杨旭 来源|https://blog.csdn.net/Alex_NINE 改进后快速排序 分析上述代码时,可以发现程序会在特殊情况调用sort()方法即改进后得快速排序,接下来就来分析sort...called pair insertion 快速排序上下文中(即满足进入sort()方法数组)他比传统 * sort, which is faster (...Therefore in float and 因此单双精度排序算法我们必须使用更加精确赋值即a[less]=a[great] * double...e2和e4) 否则使用只有一个枢轴值(e3)进行排序,但是这里还是把待排序数组分成了三个部分分别是大于,等于和小于枢轴区域 结语 写了好久终于把这篇博客写好了,过程查了好多资料看了好多博客,不过最后还是把这个坑填上了...多学习 多阅读 多思考 PS 排序算法写得差不了,接下来准备把数据结构内容用Java语言全部写一遍。争取9月份之前完成这个目标。

    1.1K30

    重新排列句子单词(桶排序

    题目 「句子」是一个用空格分隔单词字符串。给你一个满足下述格式句子 text : 句子首字母大写 text 每个单词都用单个空格分隔。...请你重新排列 text 单词,使所有单词按其长度升序排列。 如果两个单词长度相同,则保留其原句子相对顺序。 请同样按上述格式返回新句子。...输出需要按单词长度升序排列,新句子第一个单词首字母需要大写。...示例 2: 输入:text = "Keep calm and code on" 输出:"On and keep calm code" 解释:输出排序情况如下: "On" 2 个字母。..."keep" 4 个字母,因为存在长度相同其他单词, 所以它们之间需要保留在原句子相对顺序。 "calm" 4 个字母。 "code" 4 个字母。

    98830

    「R」ggplot2R包开发使用

    撰写本文时,ggplot2涉及CRAN上超过2,000个包和其他地方更多包!包中使用ggplot2编程增加了几个约束,特别是如果你想将包提交给CRAN。...尤其是R包编程改变了从ggplot2引用函数方式,以及aes()和vars()中使用ggplot2非标准求值方式。...常规任务最佳实践 使用ggplot2可视化一个对象 ggplot2通常用于可视化对象(例如,一个plot()-风格函数)。...element_blank(), panel.grid = element_line(colour = "grey80") ) } mpg_drv_summary() + theme_custom() 加载包之后计算主题是很重要...如果没有,则会将主题对象存储在编译后字节码,而该字节码可能与安装ggplot2不一致!

    6.7K30

    R语言之可视化(30)扫地僧easystats(1)

    R语言之可视化(29)如何更改ggplot2堆积条形图堆积顺序 R语言之可视化(30)扫地僧easystats(1) 1.see包简介 see包是一个R语言可视化工具包,它能为使用者提供漂亮、出版级图像展示...:小提琴图 2.see包安装 see包可以通过两种方式进行安装,一种是gitlab进行安装,另一种是基于CRAN进行安装。...用途1:十分方便将多个图片整合到一张图上 p1 <- ggplot(iris, aes(x = Species, y = Sepal.Length, fill = Species)) + geom_boxplot...用途3提供新调色板 p1 <- ggplot(iris, aes(x = Species, y = Sepal.Length, fill = Species)) + geom_boxplot...library(dplyr) library(tidyr) data % group_by(Species) %>% summarise_all(mean) %>% pivot_longer

    91410

    R语言可视化——图表美化与套用主题(上)

    ggplot函数所制作图表默认设计风格虽然经过设计师精雕细琢,但是并不是尽如人意。 毕竟在这个大众审美水平水平越来越高时代里,企业各式报告也强调与企业VI相互统一,形成自身风格与特点。...当然ggplot函数是支持这种多样性订制需求,甚至像那些知名咨询或者顶级财经媒体御用图表模板已经被制作成了图表主题分享R语言主题包之中。...(原因前文已经说明) 柱形图与条形图之间转换秩序一句代码即可: coord_flip() #柱形图与条形图之间翻转 ggplot(mpg,aes(class,displ))+geom_bar(stat...柱形图/条形图按照指标顺序排序: 默认情况下柱形图指标顺序非常混乱,我们可以通过参数设置让柱形图按照指标由高到低或者由低到高排序。...添加排序参数之后,图表看上去舒服很多,但是X轴横坐标英文名字太长,我们采用条形图规避,或者将X轴标签文字旋转90度。

    2.6K50

    ggplot2画肿瘤领域常见泳道图

    泳道图可以展示不同患者一定时间内接受不同治疗(或者处于不同时期)情况,肿瘤治疗领域文献很常见,但是竟然百度不到它具体含义。。。...“数就是图,图就是数 这个图形其实不复杂,主体部分就是我们常见条形图,再加上几个形状,无非就是不同坐标进行映射即可。...先画一个简单条形图: p <- ggplot(df, aes(Months, Patient))+ geom_bar(stat = "identity", aes(fill=factor(Stage...(pch)并没有箭头,所以一开始并没有把箭头表示信息也加入到type这一列。。...ggplot2一旦你掌握了规律,修改这些东西真的非常简单! ggplot2修改坐标轴详细介绍 超详细教程:修改ggplot2图例 下面就是修改细节。

    1.3K20

    这些条形图用法您都知道吗?

    R语言ggplot2包,读者可以借助于geom_bar函数轻松地绘制条形图。对于条形图大家对其印象是什么呢?又见过哪些种类条形图呢?本篇文章我将带着各位网友说道说道有关条形图哪些品种。...通常,使用geom_*簇函数绘制几何图形之前,都会添加ggplot函数生成图形对象,它们组合形式如下: ggplot(…) + geom_*(…) + geom_*(…) + … 如上语法格式...,有两点需要说明,一方面,ggplot2绘图过程均采用图层思想,将多个图形进行叠加和设置;另一方面,图层思想是通过代码加号(+)表现出来。...如上图所示,使用grid.arrange函数将两张图组合在一个图框内,其中左图是使用geom_bar函数直接生成原始图形,右图则是左图基础上添加了三项功能,分别是条形图排序(代码reorder...实际应用,对于单离散变量和单数值变量条形图,右图会更加受欢迎,因为它更加直观(借助于排序可以迅速地发现柱子最高、最低及差异;借助于数值标签可以明确地得知各离散水平下具体值;借助于参考线可以比较哪些水平值高于平均水平

    5.5K10

    上手即用,分组统计检验直方图绘图脚本分享

    再来看下他脚本: 三个函数组成,代码写还是比较规范,管道用66,虽然赋值符合和我不是一个风格,这个萝卜青菜啦!...,plot表示ggplot对象,type表示要保存图片格式 if(type=='pdf'){ ggplot2::ggsave(filename = path,plot = plot,width...ggsave(filename = path,plot = plot,width = width,height = height,device = 'tiff',dpi = dpi) } } # 分组条形图...同组样本之间两两进行比较方法 # p_show 图片上差异显著性展示方式,*: p <= 0.05 **: p <= 0.01 ***: p <= 0.001 ****: p <= 0.0001 # add 条形图上添加统计值如样本标准差...\\zd200\\Desktop\\不常用\\直方图实例文件.txt',type = 'txt',row = F) library(tidyr) library(dplyr) dt = df %>% pivot_longer

    55420

    ggplot2绘制环状正负堆砌条形图

    ❝「今天VIP群里有观众老爷询问如何绘制环状堆砌条形图」例图如下所示,既然观众老爷们有需求,那小编就来简单写篇文档进行介绍;下面来看具体案例「数据代码已经上传VIP群,请自行下载」 ❞ 例图 图形解读...❝可以看到就是一张普通堆砌条形图只不过改为了圆形展示,通过图形我们可以看到数据分为两组,并且每一个样本数值有正负之分,因此与常见条形图绘制方法无二,只是在于构建极坐标并合理添加文本;由于小编手里没有合适数据因此使用...is.numeric, function(x) x+10) %>% log10() %>% as.data.frame() %>% rownames_to_column("type") %>% pivot_longer...#71D0F5FF","#370335FF","#075149FF","#C80813FF","#91331FFF", "#1A9993FF","#FD8CC1FF") 数据可视化 ggplot...喜欢观众老爷欢迎分享转发

    57820
    领券