quaco.js
Version:
A lightweight modular Quantum Computing Simulator in JavaScript. Supports qubits, quantum gates, entanglement, circuits, algorithms, and visualization.
27 lines (22 loc) • 891 B
JavaScript
// src/Visualizer/Visualizer.js
/**
* Simple Visualizer for Quantum Measurement Histograms.
*/
export class Visualizer {
/**
* Displays a text-based histogram on console.
* @param {object} results - Mapping of bitstring -> count
* @param {number} maxBarWidth - Max width of the bar (default 50)
*/
static showHistogram(results, maxBarWidth = 50) {
const entries = Object.entries(results);
const maxCount = Math.max(...entries.map(([_, count]) => count));
console.log("\n=== Measurement Results ===\n");
for (const [state, count] of entries) {
const barLength = Math.round((count / maxCount) * maxBarWidth);
const bar = '█'.repeat(barLength);
console.log(`${state}: ${bar} (${count})`);
}
console.log("\n============================\n");
}
}