r - 围绕轴标签绘制彩色框
问题描述
考虑这个简单的例子
library(tidyverse)
tibble(x = as.factor(c('good', 'neutral', 'bad')),
y = as.factor(c('bad', 'neutral', 'bad'))) %>%
ggplot(aes(x = x, y = y)) + geom_point()
我想将 x 标签 ( good
, neutral
, bad
) 放在不同颜色的框中。例如,good
(在 x 和 y 轴上)将被一个绿色的小盒子包围,依此类推。
我可以这样做ggplot2
吗?
解决方案
像这样?
tibble(x = as.factor(c('good', 'neutral', 'bad')),
y = as.factor(c('bad', 'neutral', 'bad'))) %>%
ggplot(aes(x = x, y = y)) +
geom_point() +
theme(axis.text.x = element_text(color = c('red', 'blue', 'green')))
你的情节:
编辑
另一种漂亮的 Ghetto 解决方案使用grid
tibble(x = as.factor(c('good', 'neutral', 'bad')),
y = as.factor(c('bad', 'neutral', 'bad'))) %>%
ggplot(aes(x = x, y = y)) +
geom_point()
grid::grid.polygon(x = c(.3,.3,.25,.25), y = c(.07,.04,.04,.07),gp = gpar(col = 'green', fill = 'green', alpha = .5))
grid::grid.polygon(x = c(.525,.525,.575,.575), y = c(.07,.04,.04,.07),gp = gpar(col = 'red', fill = 'red', alpha = .5))
grid::grid.polygon(x = c(.79,.79,.86,.86), y = c(.07,.04,.04,.07),gp = gpar(col = 'blue', fill = 'blue', alpha = .5))
推荐阅读
- sql - 根据现有文本的长度在 SQL Server 列中插入字符串
- angular - 从 DataSource Angular MatTable 获取对象
- asp.net - “未知的 Web 方法”Ajax 错误
- wordpress - 如何使用 https 在子目录中正确重定向 Wordpress?
- c# - 为什么 DataGrid 值在变量持有值时会抛出 NullReferenceException?
- php - 安装了 Apache 的 Ubuntu Server 16.04.5 将 Laravel 应用程序加载为纯文本
- reactjs - 使用 ReactCSSTransitionGroup 没有发生过渡
- typescript - 简单的倒数计时器打字稿
- apache-cayenne - 如何在另一个 DataMap 中创建与 ObjEntity 的关系?
- react-native - AsyncStorage 返回 [object object] - 反应原生