Public
Edited
Nov 21, 2023
Insert cell
Insert cell
Insert cell
userRank
Type Table, then Shift-Enter. Ctrl-space for more options.

Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Plot.plot({
width,
y: {
label: "↑ Total replies per date",
grid: true
},
marks: [
Plot.areaY(userRepliesPerDate, {y: d => d[1], x:d => d[0], curve:"step"})
]
})
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
repliesUsersPerMonth = repliesPerMonth.map( v => {
return d3.groups(v[1], d => d.user)
})
Insert cell
repliesPerMonth = d3.groups(replies, d=> d.published.getUTCMonth())
Insert cell
notesUsersPerMonth = notesPerMonth.map( v => {
return d3.groups(v[1], d => d.user)
})
Insert cell
notesPerMonth = d3.groups(notes, d => d.published.getUTCMonth())
Insert cell
usersFromReplies = d3.rollups(replies, v => v.length, d=> d.user)
Insert cell
usersFromNotes = d3.rollups(notes, v => v.length, d => d.user)
Insert cell
Insert cell
userRepliesPerDate = d3.rollups(replies.filter(v => v.user==user), v => v.length, d => cloneDateToMidnight(d.published))
Insert cell
Insert cell
Insert cell
Insert cell
import {replies, users, topics, notes, usersCombined, cloneDateToMidnight, getMeanPerDate} from "1de6ee6f485fd1e3"
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more