首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >R保留行顺序ggplot2 geom_tile

R保留行顺序ggplot2 geom_tile
EN

Stack Overflow用户
提问于 2012-09-25 00:14:06
回答 2查看 1K关注 0票数 0

我正在尝试绘制一些分类数据,这个answer非常接近我想要做的事情,但是在我的例子中,我有国家的日期,如本例所示。如何从data.frame创建具有原始行顺序的绘图?似乎即使这些因子在datmelt.data中具有相同的顺序,它们在图中的y轴上也不是按顺序排序的。

下面是一个可重复使用的示例:

代码语言:javascript
运行
AI代码解释
复制
library(reshape)
library(ggplot2)

dat <- data.frame(dates=c("01/01/2002", "09/15/2003", "05/31/2012"), Germany = c(0,1,0), Italy = c(1,0,0))
melt.data<-melt(dat, id.vars="dates", variable_name="country")

qplot(data=melt.data,
      x=country,
      y=dates,
      fill=factor(value),
      geom="tile")
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-25 00:53:05

您的问题是日期是以字符串的形式存储的。有关数据的结构,请参见str(dat)

通过添加

代码语言:javascript
运行
AI代码解释
复制
dat$dates <- as.Date(dat$dates,"%m/%d/%Y")

加载dat后,您可以按原始顺序获取日期。

票数 1
EN

Stack Overflow用户

发布于 2012-09-25 00:54:53

您的问题是,dat$dates是一个因素,默认情况下,R会按字典顺序对级别进行排序。R不知道它们是日期。

所以

代码语言:javascript
运行
AI代码解释
复制
levels(dat$dates)
## [1] "01/01/2002" "05/31/2012" "09/15/2003"

因此,

代码语言:javascript
运行
AI代码解释
复制
order(dat$dates)
## [1] 1 3 2

如果希望R将它们视为日期,则可以将它们转换为Date

代码语言:javascript
运行
AI代码解释
复制
 dat$dates <- as.Date(as.character(dat$dates), format = '%m/%d/%Y')

  # now 
 order(dat$dates)
 ## 1 2 3

这就是你想要的

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12574653

复制
相关文章
「R」魔性的ggplot2,多个图例时顺序会变?
如果我们要改变图例顺序,按下面的操作,将color变成1,然后fill使用默认排序:
王诗翔呀
2020/07/02
3.7K0
R可视乎|等高线图
等高线图(contour map) 是可视化二维空间标量场的基本方法[1],可以将三维数据使用二维的方法可视化,同时用颜色视觉特征表示第三维数据,如地图上的等高线、天气预报中的等压线和等温线等。假设
庄闪闪
2021/04/09
4.5K0
R语言绘图 | 调整ggplot2坐标轴标签排列顺序
"ggplot2"是我们常用的绘图包,但是使用ggplot2绘图时,输出的坐标轴标签总是按照字母排序,无法使用我们输入文件中排列的顺序。今天小编就教大家解决这一问题。
生信小王子
2020/10/10
36.5K0
R语言绘图 | 调整ggplot2坐标轴标签排列顺序
R语言ggplot2科研数据数据可视化实用手册~第八章热图(heatmap)
今天下午7点到9点直播讲解如下代码,腾讯会议,感兴趣的参加,给推文打赏10元获取腾讯会议直播链接
用户7010445
2023/01/06
3.2K0
R语言ggplot2科研数据数据可视化实用手册~第八章热图(heatmap)
ggplot2设置legend顺序
library(tidyverse) library(patchwork) dat_wide <- tibble( x = 1:3, top = c(4.5, 4, 5.5), middle = c(4, 4.75, 5), bottom = c(3.5, 3.75, 4.5) ) dat <- dat_wide %>% pivot_longer( cols = c(top, middle, bottom), names_to = "region", valu
用户1359560
2020/04/09
2.1K0
gplots heatmap.2和ggplot2 geom_tile实现数据聚类和热图plot
主要步骤 ggplot2 数据处理成矩阵形式,给行名列名 hclust聚类,改变矩阵行列顺序为聚类后的顺序 melt数据,处理成ggplot2能够直接处理的数据结构,并加上列名 ggplot_tile进行画图 gplots 数据处理成矩阵形式,给行名列名 调制颜色并用heatmap.2画热图(heatmap.2函数内部用hclustfun 进行聚类) R语言代码 library(ggplot2) library(data.table) CN_DT <- fread("/home/ywliao/projec
用户1680321
2018/04/28
4.9K0
gplots heatmap.2和ggplot2 geom_tile实现数据聚类和热图plot
使用NlohmannJson写JSON保留插入顺序
nlohmann/json是一个C++的读写JSON的组件,号称使用现代C++范式写的。简单看了一下,这个组件确实包含了很多cpp11以上的特性,在vs2015及一下的版本甚至没办法正常编译。要正常使用需要vs2017及以上版本才行。
charlee44
2020/01/14
4.3K0
使用NlohmannJson写JSON保留插入顺序
ggplot2点图调整顺序
但是这里有个问题是,本来应该还有一组点,因为这一组点最少,画在最下边被挡住了。我想让这一组点显示出来。一开始我打算修改分组的levels的顺序,将这一组换一下位置,但是最终图并没有变化。
生信编程日常
2020/06/28
1.3K0
R语言学习 - 热图美化 (数值标准化和调整坐标轴顺序)
上一期的绘图命令中,最后一行的操作抹去了之前设定的横轴标记的旋转,最后出来的图比较难看。上次我们是这么写的
生信宝典
2022/03/25
2.4K0
R语言学习 - 热图美化 (数值标准化和调整坐标轴顺序)
R语言ggplot2画右三角方块热图的简单小例子
这里使用到的是geom_tile()函数。把填充设置为白色,然后把边框线设置为灰色就可以达成这种效果
用户7010445
2021/07/12
3.4K0
R语言ggplot2画右三角方块热图的简单小例子
R绘图-ggplot2 (2)
#这一小节介绍标尺,在对图形属性进行映射之后,使用标尺可以控制这些属性的显示方式,
生信补给站
2020/08/06
8820
R语言ggplot2作图离散变量更改坐标轴范围
如果是要更改x轴左右的间距把scale_y_discrete()换成scale_x_discrete()就可以了
用户7010445
2021/08/31
3K0
R语言ggplot2作图离散变量更改坐标轴范围
R绘图-ggplot2(1)
small <- diamonds[sample(nrow(diamonds), 1000), ]
生信补给站
2020/08/06
1.1K0
R语言ggplot2作图配色相关R包备选
R语言ggplot2作图的时候配色如果不知道如何选择,可以参考如下链接https://r-charts.com/color-palettes/
用户7010445
2022/04/08
1.1K0
R语言ggplot2作图配色相关R包备选
ggplot2优雅绘制热图添加双箭头注释
❝本节来介绍如何使用「ggplot2」来绘制热图并添加双向箭头添加注释,下面小编通过一个案例来进行展示,图形仅供展示用,希望各位观众老爷能够喜欢。。❞
R语言数据分析指南
2023/09/11
6190
ggplot2优雅绘制热图添加双箭头注释
R绘图-ggplot2 (3)
#在统计变换一节中,提到如果按切工分组作回归线,显然图会很乱,有了分面功能,我们可以分别作图。
生信补给站
2020/08/06
4940
R 热图绘制heatmap①
R.package heatmap():用于绘制简单热图的函数 heatmap.2():绘制增强热图的函数 d3heatmap:用于绘制交互式热图的R包 ComplexHeatmap:用于绘制、注释和排列复杂热图的R&bioconductor包(非常适用于基因组数据分析) 首先使用ggplot2画简单热图 data <- as.data.frame(matrix(rnorm(9*10),9,10)) rownames(data) <- paste("Gene", 1:9, sep="_") colnam
用户1359560
2018/08/27
1.1K0
R 热图绘制heatmap①
ggplot2实现一幅自己叫不上来名字的图
参考 https://www.r-bloggers.com/how-to-make-a-simple-heatmap-in-ggplot2/构造数据集
用户7010445
2020/04/27
1K0
R语言学习 - 热图美化
热图美化 上一期的绘图命令中,最后一行的操作抹去了之前设定的横轴标记的旋转,最后出来的图比较难看。 上次我们是这么写的 p <- p + xlab("samples") + theme_bw() + theme(panel.grid.major = element_blank()) + theme(legend.key=element_blank()) 为了使横轴旋转45度,需要把这句话theme(axis.text.x=element_text(angle=45,hjust=1, vjust=1))放在
生信宝典
2018/02/05
2.6K0
R语言学习 - 热图美化
「R」ggplot2精要:线图
可以使用函数geom_line()、geom_step()或geom_path()。
王诗翔呀
2020/07/02
2.3K0

相似问题

R中的geom_tile():排序顺序

1141

如何在geom_tile ggplot中保留分片的顺序

10

R geom_tile ggplot2应用什么类型的stat?

32

重组geom_tile ggplot2

12

R: ggplot2,将Y轴标签替换为geom_tile

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文