Published unlisted
Edited
Dec 4, 2020
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Object.keys(parallel_data).length
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
cScale = d3.scaleSqrt([0, 50, 100], ["yellow", "red", "darkred"])
Insert cell
Insert cell
Insert cell
data = {
var data = d3.csvParse(await FileAttachment("new_InfoVis_Survey@1.csv").text(), d3.autoType);
data.attrs = data.columns.slice(1); // the quantitative attributes in the data table
data.label = data.columns[0]; // the column to use for the dot labels
data.stdevs = {}; // zscore normalization factors for each attribute, for Distance()
data.attrs.forEach(a => data.stdevs[a] = d3.deviation(data, r => r[a]));
data.weights = {};
data.attrs.forEach(a => data.weights[a] = 1.0);
return data;
}
Insert cell
Insert cell
Insert cell
Insert cell
height = 700
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
md`
## Reference
1. https://observablehq.com/d/72afa1ae13806e66
2. https://observablehq.com/@d3/parallel-coordinates
3. https://observablehq.com/@mootari/range-slider
`
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