r - 删除 ggplot2 中未使用的 X 轴级别
问题描述
我想让 ggplot 只显示有数据的级别。因此,对于第一个方面 S7、S8、S9 不应出现,而对于第二个方面 S1、S2、S3 不应出现。请让我知道我是否正确地表达了自己。
df = data.frame(v1 = c('A','A','A','B','B','B'),
v2 = c('S1','S2','S3','S7','S8','S9'),
nm = c(2,3,4,5,6,7))
ggplot(df,aes(x = v2, y = nm)) +
geom_point(size = 3) +
facet_grid(.~v1)
解决方案
用于scales = "free_x"
控制是否强制 x 轴在不同方面具有相同的限制:
library(ggplot2)
df <- data.frame(
v1 = c("A", "A", "A", "B", "B", "B"),
v2 = c("S1", "S2", "S3", "S7", "S8", "S9"),
nm = c(2, 3, 4, 5, 6, 7)
)
ggplot(df, aes(x = v2, y = nm)) +
geom_point(size = 3) +
facet_grid(. ~ v1, scales = "free_x")
由reprex 包(v0.3.0)于 2020 年 1 月 17 日创建
推荐阅读
- python - 如何插入 numpy 数组的某些部分,它们在最大 k 值中具有最近邻元素值?
- python - Django搜索视图不生成我设置的html页面
- javascript - 如何制作类到 fech javascript
- javascript - 函数旁边的函数?
- python - 如何从 C 扩展返回 Python 枚举?
- mysql - 在多对多查询中获取记录
- python - 带逗号的正则表达式搜索
- javascript - jQuery:“连字符:无;” 对于文本文件中的单词
- docker - 没有文件或目录 - Windows 中的 Docker
- javascript - Node.js 中的事件循环是自己运行回调还是只是将回调传递给调用堆栈以便调用堆栈执行回调?