![](/img/trans.png)
[英]ggplot2 combine continuous variable and discrete variable in geom_raster
[英]Culmulative count of discrete variable in ggplot2
這與在 ggplot2 中繪制累積計數有關,但該問題處理的是連續變量(而不是離散變量)。
在這里,我有一個條形圖
set.seed(2021)
dat <- data.frame(x = c(rpois(100, 1), 7, 10))
ggplot(dat) + geom_bar(aes(x, ..count..))
我正在嘗試 plot 累積計數
ggplot(dat) + geom_bar(aes(x, cumsum(..count..)))
當存在“缺失值”時(即當x
為 5、6、7、9 時)存在間隙。
有沒有一種快速簡便的方法來制作一個帶有條形空白的條形圖,即我將有 11 個條形? 我可以像往常一樣手動創建一個包含累積計數和 plot 的數據框,但我很好奇是否有更優雅的方法。
您可以在繪圖時將變量轉換為因子。
ggplot(dat) + geom_bar(aes(factor(x), cumsum(..count..)))
我不會稱這是一種“簡單”的方法,但我唯一能想到的方法就是解決你的問題:
使用例如dplyr::count
預先匯總您的數據集
使用例如tidyr::complete
用缺失的類別填充您的數據集(為此,我首先將x
轉換為因子)。
Plot 通過geom_col
library(ggplot2)
library(dplyr)
library(tidyr)
set.seed(2021)
dat <- data.frame(x = c(rpois(100, 1), 7, 10))
dat <- dat %>%
count(x) %>%
mutate(x = factor(x, levels = seq(range(x)[1], range(x)[2], by = 1))) %>%
tidyr::complete(x, fill = list(n = 0))
ggplot(dat) + geom_col(aes(x, cumsum(n)))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.