我正在试图弄清楚如何制作一种特定的图形。它看起来像是在R或ggplot2中非常容易做的事情,但我不能找到合适的关键字来描述它。我浏览了各种各样的geoms并阅读了一些指南,但空手而归。
基本问题是:我有一个电子邮件列表,以及发送它们的日期(定义为自1970年1月1日以来的天数)。我已成功制作了一张图表,其中显示了每binwidth
发送的电子邮件;例如如果我每天发送一封电子邮件并将binwidth
设置为30天,我会得到一个高度为30的酒吧。
我尝试做的是制作如下图:
上图中x轴上的电子邮件数量 ,y轴显示与该数量相对应的电子邮件数量的天数
因此,对于某些示例数据,发送电子邮件的日期列表:
data <- c( 15562,15562,15562,15562,15563,15564,
15564,15564,15566,15566, 15566,15566)
而不是带有高度为4,1,3和4的条形图(对应于每天的电子邮件数量),我想要一个带有高度为1,1和2的条形图(因为有1条)发送一封电子邮件的日子,发送三封电子邮件的1天,以及发送四封电子邮件的2天)。
就像在示例图中一样,我想要一个连续的x轴。
有谁知道如何构建如上所示的图形?
答案 0 :(得分:1)
dat <- c(15562,15562,15562,15562,15563,15564,15564,15564,15566,15566,15566,15566)
table(table(dat))
#1 3 4
#1 1 2
#example with more data
set.seed(42)
dat <- sample(1:500,50000,TRUE)
hist(table(table(dat)),breaks=20)
答案 1 :(得分:1)
有人想要复制Stephen Wolfram personal analytics plots吗? ; - )
不用担心,为了让结果接近Wolfram一直在使用的 Mathematica 式的可视化,我认为最好与lattice
一起使用:
library(lattice)
library(latticeExtra)
histogram(~ FSC.H, gvhd10, xlab = "", ylab="", type = "density",
col="yellow", nint = 100, scales = list(y=list(draw=F)))
ltext(400,110,col="gray","distribution of emails per day")