首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用guide_legend()的反向图例

使用guide_legend()的反向图例
EN

Stack Overflow用户
提问于 2016-08-25 23:14:26
回答 1查看 2.2K关注 0票数 0

我是一个ggplot2的绝对初学者,并练习使用guide_legend()函数。我不太清楚为什么guide_legend()会颠倒传说的顺序。

下面是一个基本的例子:

代码语言:javascript
运行
复制
df <- data.frame(x = 1, y = 1:3, z = 1:3)
base <- ggplot(df, aes(x, y)) + geom_raster(aes(fill = z))

这很好地产生了栅格图。

但是,当我添加以下行时,图例的顺序会被颠倒。有人能解释一下为什么会发生这种事吗?

代码语言:javascript
运行
复制
base + scale_fill_continuous(guide = guide_legend())

如果有任何想法我会很感激。不管怎样,我可以倒车吗?

谢谢

加法:--我想在默认情况下为guide_legend添加reverse = FALSE。我认为reverse=TRUE会修复它,但我不理解重置默认值的意义。我做错什么了吗?

以下是指南:我指的是legend.html

这张照片是:

这张照片来自上述网站。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-25 23:34:52

你的底图有一个连续的色阶,你可以在图例中看到:

代码语言:javascript
运行
复制
base <- ggplot(df, aes(x, y)) + geom_raster(aes(fill = z))

这会将其转换为离散颜色刻度,因为设置guide="legend"guide=guide_legend()会创建一个离散刻度(这是在帮助中有记载):

代码语言:javascript
运行
复制
base + scale_fill_continuous(guide = guide_legend())

对于连续颜色标度,您可以使用下面的代码,但是没有必要,因为在默认情况下,当颜色变量是连续的(如base图所示)时,ggplot就是这样做的:

代码语言:javascript
运行
复制
base + scale_fill_continuous(guide = guide_colourbar())

保持离散的颜色比例,但逆序,使最高值在顶部。我还设置了断点,以便在图例中只显示3种颜色:

代码语言:javascript
运行
复制
base + scale_fill_continuous(breaks=1:3, guide=guide_legend(reverse=TRUE))

更新:用于处理长注释线程,下面是guide_legend的三个情节。但是请注意,第一个文件实际上并没有显示在ggplot页面上;只显示了代码。

代码语言:javascript
运行
复制
df <- reshape2::melt(outer(1:4, 1:4), varnames = c("X1", "X2"))

p1 = ggplot(df, aes(X1, X2)) + geom_tile(aes(fill = value))
p2 = p1 + scale_fill_continuous(guide = "legend")
p3 = p1 + scale_fill_continuous(guide = guide_legend())

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

https://stackoverflow.com/questions/39156114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档