Published unlisted
Edited
Feb 3, 2020
Insert cell
Insert cell
Insert cell
{
let full_width = plot_size+topics_size+margin.left+margin.right
let full_height = plot_size+topics_size+margin.top+margin.bottom
let svg_elem = d3.create('svg')
.attr('width', full_width)
.attr('height', full_height)
let main_group = svg_elem.append('g').attr('transform', 'translate('+margin.left+','+margin.top+')')
let scatterplot_group = main_group.append('g').attr('transform', 'translate('+(0)+','+(topics_size)+')')
let top_axis_group = main_group.append('g').attr('transform', 'translate('+(0)+','+(topics_size-bar_size)+')')
let right_axis_group = main_group.append('g').attr('transform', 'translate('+(plot_size)+','+(topics_size)+')')
return svg_elem.node()
}
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
eigendecomposition = (matrix) => {
let proper_mat = new mat.Matrix(matrix.arraySync())
let eig_decomp = new mat.EigenvalueDecomposition(proper_mat)
let eigvecs = eig_decomp.eigenvectorMatrix
let eigvals = eig_decomp.realEigenvalues
return {'eigenvectors':tf.tensor2d(eigvecs.to2DArray()), 'eigenvalues':tf.tensor1d(eigvals)}
}
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

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