Public
Edited
Apr 27, 2024
Importers
Insert cell
Insert cell
Insert cell
Plot.plot({
grid: true,
color: {
legend: true,
scheme: "viridis"
},
marginLeft: 200,
marks: [
Plot.rect(frequencies.filter(x=>!x.name.includes('Mania')), {
x: "letter",
y: "name",
r: "freq_pct",
fill: "freq_pct",
title: d => `${d.name}\nLetter: ${d.letter}\nFreq: ${d.freq}\nFreq Pct: ${d3.format(".2%")(d.freq_pct)}`

})
]
})
Insert cell
frequencies_raw = `TWL 6 & 7 Uniques
146,42,64,57,162,26,37,40,118,6,23,90,55,84,106,52,3,99,139,80,72,17,18,8,39,9

TWL 6 & 7 Uniques (-E)
146,42,64,57,132,26,37,40,118,6,23,90,55,84,106,52,3,99,139,80,72,17,18,8,39,9

TWL 6 & 7 Uniques (--E)
146,42,64,57,102,26,37,40,118,6,23,90,55,84,106,52,3,99,139,80,72,17,18,8,39,9

TWL 6 & 7 Uniques (---E)
146,42,64,57,72,26,37,40,118,6,23,90,55,84,106,52,3,99,139,80,72,17,18,8,39,9

TWL 6 & 7 Uniques (----E)
146,42,64,57,42,26,37,40,118,6,23,90,55,84,106,52,3,99,139,80,72,17,18,8,39,9

TWL 6 & 7 Uniques (-----E)
146,42,64,57,12,26,37,40,118,6,23,90,55,84,106,52,3,99,139,80,72,17,18,8,39,9

TWL 8 Uniques
121,35,59,55,170,22,33,37,123,3,19,93,44,85,98,42,3,103,101,87,55,15,16,5,31,6

TWL 8 Uniques (-E)
121,35,59,55,140,22,33,37,123,3,19,93,44,85,98,42,3,103,101,87,55,15,16,5,31,6

TWL 8 Uniques (--E)
121,35,59,55,110,22,33,37,123,3,19,93,44,85,98,42,3,103,101,87,55,15,16,5,31,6

TWL 8 Uniques (---E)
121,35,59,55,80,22,33,37,123,3,19,93,44,85,98,42,3,103,101,87,55,15,16,5,31,6

TWL 8 Uniques (----E)
121,35,59,55,50,22,33,37,123,3,19,93,44,85,98,42,3,103,101,87,55,15,16,5,31,6

TWL 8 Uniques (-----E)
121,35,59,55,20,22,33,37,123,3,19,93,44,85,98,42,3,103,101,87,55,15,16,5,31,6

TWL 8 - 10
71,19,36,33,103,12,25,21,75,2,10,49,26,56,57,26,2,63,60,55,32,9,8,3,15,4

TWL 8 - 10 (-E)
71,19,36,33,83,12,25,21,75,2,10,49,26,56,57,26,2,63,60,55,32,9,8,3,15,4

TWL 8 - 10 (--E)
71,19,36,33,63,12,25,21,75,2,10,49,26,56,57,26,2,63,60,55,32,9,8,3,15,4

TWL 8 - 10 (---E)
71,19,36,33,43,12,25,21,75,2,10,49,26,56,57,26,2,63,60,55,32,9,8,3,15,4

TWL 8 - 10 (----E)
71,19,36,33,23,12,25,21,75,2,10,49,26,56,57,26,2,63,60,55,32,9,8,3,15,4

TWL 8 - 10 (-----E)
71,19,36,33,3,12,25,21,75,2,10,49,26,56,57,26,2,63,60,55,32,9,8,3,15,4

TWL fives
422,116,158,179,478,83,118,129,278,20,103,254,142,214,318,148,9,304,487,243,181,51,72,22,150,28

CSW
190,45,99,82,278,29,69,61,222,4,23,129,71,165,163,74,4,172,237,161,81,23,19,7,40,12

Prolific
637,119,138,323,885,131,161,355,354,27,114,352,179,468,539,111,17,344,397,722,230,85,191,20,194,14

Prolific - Low Vowel
237,119,138,323,485,131,161,355,354,27,114,352,179,468,539,111,17,344,397,722,230,85,191,20,194,14

A Mania
2000,100,157,161,455,64,106,108,326,11,64,236,131,232,266,123,8,272,283,224,168,40,49,15,92,22

B Mania
343,2500,157,161,455,64,106,108,326,11,64,236,131,232,266,123,8,272,283,224,168,40,49,15,92,22

C Mania
343,100,2500,161,455,64,106,108,326,11,64,236,131,232,266,123,8,272,283,224,168,40,49,15,92,22

D Mania
343,100,157,2500,455,64,106,108,326,11,64,236,131,232,266,123,8,272,283,224,168,40,49,15,92,22

E Mania
343,100,157,161,2000,64,106,108,326,11,64,236,131,232,266,123,8,272,283,224,168,40,49,15,92,22

F Mania
343,100,157,161,455,1400,106,108,326,11,64,236,131,232,266,123,8,272,283,224,168,40,49,15,92,22

G Mania
343,100,157,161,455,64,2500,108,326,11,64,236,131,232,266,123,8,272,283,224,168,40,49,15,92,22

H Mania
343,100,157,161,455,64,106,2500,326,11,64,236,131,232,266,123,8,272,283,224,168,40,49,15,92,22

I Mania
343,100,157,161,455,64,106,108,2000,11,64,236,131,232,266,123,8,272,283,224,168,40,49,15,92,22

J Mania
343,100,157,161,455,64,106,108,326,1000,64,236,131,232,266,123,8,272,283,224,168,40,49,15,92,22

K Mania
343,100,157,161,455,64,106,108,326,11,2500,236,131,232,266,123,8,272,283,224,168,40,49,15,92,22

L Mania
343,100,157,161,455,64,106,108,326,11,64,2500,131,232,266,123,8,272,283,224,168,40,49,15,92,22

M Mania
343,100,157,161,455,64,106,108,326,11,64,236,2500,232,266,123,8,272,283,224,168,40,49,15,92,22

N Mania
343,100,157,161,455,64,106,108,326,11,64,236,131,2500,266,123,8,272,283,224,168,40,49,15,92,22

O Mania
343,100,157,161,455,64,106,108,326,11,64,236,131,232,2000,123,8,272,283,224,168,40,49,15,92,22

P Mania
343,100,157,161,455,64,106,108,326,11,64,236,131,232,266,2500,8,272,283,224,168,40,49,15,92,22

Q Mania
343,100,157,161,455,64,106,108,326,11,64,236,131,232,266,123,1000,272,283,224,168,40,49,15,92,22

R Mania
343,100,157,161,455,64,106,108,326,11,64,236,131,232,266,123,8,2500,283,224,168,40,49,15,92,22

S Mania
343,100,157,161,455,64,106,108,326,11,64,236,131,232,266,123,8,272,2500,224,168,40,49,15,92,22

T Mania
343,100,157,161,455,64,106,108,326,11,64,236,131,232,266,123,8,272,283,2500,168,40,49,15,92,22

U Mania
343,100,157,161,455,64,106,108,326,11,64,236,131,232,266,123,8,272,283,224,1300,40,49,15,92,22

V Mania
343,100,157,161,455,64,106,108,326,11,64,236,131,232,266,123,8,272,283,224,168,1400,49,15,92,22

W Mania
343,100,157,161,455,64,106,108,326,11,64,236,131,232,266,123,8,272,283,224,168,40,1400,15,92,22

X Mania
343,100,157,161,455,64,106,108,326,11,64,236,131,232,266,123,8,272,283,224,168,40,49,1000,92,22

Y Mania
343,100,157,161,455,64,106,108,326,11,64,236,131,232,266,123,8,272,283,224,168,40,49,15,1500,22

Z Mania
343,100,157,161,455,64,106,108,326,11,64,236,131,232,266,123,8,272,283,224,168,40,49,15,92,1000
`
Insert cell
frequencies_parsed = {
const frequencies_rows = frequencies_raw.split('\n')
const out = [];
let name = '';
let freqs = [];
for (let i = 0; i < frequencies_rows.length; ++i) {
if (i % 3 === 0) name = frequencies_rows[i];
if (i % 3 === 1) {
freqs = frequencies_rows[i].split(',').map(parseFloat)
for (let j = 0; j < letters.length; ++j) {
out.push({
name: name,
letter: letters[j],
freq: freqs[j]
})
}
}
}

return out
}
Insert cell
frequencies_parsed
select
*,
freq / sum(freq) over (partition by name) as freq_pct
from frequencies_parsed
Insert cell
letters = alphabet
.map(x=>x.letter)
.sort()
Insert cell
names = frequencies_raw
.split('\n')
.filter((x,i) => i % 3 === 0)
Insert cell
{
let str = "This is a test string xyz!";
return str.includes('xyz'); // Returns true if 'xyz' is a substring of str, otherwise
}
Insert cell
frequencies.map(d => Object.assign({}, d));
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