ggplot geom_bar根据条件使用单独的颜色填充连续颜色

詹姆士

这是一个可复制的样本数据集,具有基于的连续填充Amount正如你可以从下面的示例中看到的,我也有一列dflag我想要的是能够flag通过将条形图的边框颜色更改为红色来进行可视化

# create reproducible data
library(ggplot2)
d <- read.csv(text='Day,Location,Length,Amount,flag
    1,4,3,1.1,FALSE
    1,3,1,2,FALSE
    1,2,3,4,FALSE
    1,1,3,5,FALSE
    2,0,0,0,FALSE
    3,3,3,1.8,TRUE
    3,2,1,3.54,FALSE
    3,1,3,1.1,FALSE',header=T)
ggplot(d, aes(x = Day, y = Length)) + 
geom_bar(aes(fill = Amount, order = -Location), stat = "identity")

我已经尝试过了alpha,但确实可以标记所需的条形,但是无法以我想要的方式可视化数据:

ggplot(d, aes(x = Day, y = Length)) + 
geom_bar(aes(fill = Amount, order = -Location, alpha = -flag), stat = "identity")

alpha使用-flags(note -)时也会使图例混乱,这是不可取的。

使用以下命令返回一个错误,我需要2个颜色变量,但我只需要1个,red

ggplot(d, aes(x = Day, y = Length)) + 
geom_bar(aes(fill = Amount, order = -Location, alpha = -flag), stat = "identity") + 
scale_colour_manual(values = alpha(c('red')))

回顾一下:

  1. 我想flag = TRUE用红色轮廓(或同样明显的东西)显示该条,而无需更改已经确定的连续比例Amount

  2. 我希望图例以flag = TRUE红色(或其他匹配颜色)反映出来

我找不到在网上浏览的适用解决方案,因此非常感谢您的任何想法或建议!

数学咖啡

使用colour=flagcolourgeom_bar填充中的轮廓是填充)。然后添加if为假(无边框)时使用+ scale_colour_manual(values=c(NA, 'red'))where NA,如果flag为true则使用'red' flag

ggplot(d, aes(x = Day, y = Length)) + 
geom_bar(aes(fill = Amount, order = -Location, col=flag), stat = "identity") +
  scale_colour_manual(values=c(NA, 'red'))

(注意:相反,您可以geom_bar(aes(...), col=ifelse(d$flag, 'red', NA))跳过,scale_colour_manual但是没有图例)。

在此处输入图片说明

如果你想增加边框宽度,加lwd=<new line width>在你的geom_bar(外aes)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

ggplot:根据条件填充颜色

使用正值和负值控制 ggplot::geom_bar position_stack 在图形和图例中的填充颜色顺序

ggplot2:geom_bar填充颜色;如何更改为不同的数据分组

更改 geom_bar ggplot 中 20% 条的颜色

使用 ggplot2 将颜色列添加到 geom_bar 图

ggplot2:在aes(..)和geom_bar(..)中使用`fill =…`。颜色重复

ggplot2:在aes(..)和geom_bar(..)中使用`fill =…`。颜色不重复

使用 ggplot2 和 geom_bar 根据 1 个因子变量和基于另一个因子变量的条形图案更改条形颜色

ggplot2 geom_bar颜色仅一列

用R中的ggplot2更改geom_bar中的条形图颜色

如何在geom_bar ggplot2中为许多列着色相同的颜色

更改 ggplot geom_bar 中 NA 值的标签和颜色?

ggplot R中geom_bar中离散值的自定义颜色

如何在geom_bar ggplot2中更改颜色,否则无法正常工作

ggplot geom_bar的比例

ggplot并排geom_bar()

ggplot geom_bar()不填充图上的色条

ggplot2 geom_bar填充美学不变

更改ggplot geom_bar上填充变量的顺序

R:ggplot geom_bar填充顺序未遵循级别

在 ggplot 中使用 geom_bar(position="fill, stat = "identity) 翻转填充变量

ggplot:geom_point中的颜色,填充和大小

使用geom_tile使用重量填充颜色的ggplot热图

ggplot2:使用 geom_bar 绘制正确的比例

使用总分类值标签ggplot Geom_Bar

如何使用 geom_bar 优化图形 ggplot

ggplot地图填充渐变颜色

根据组调整ggplot中geom_vline的颜色

在 ggplot geom-bar 中设置颜色堆叠