Skip to content

Powiew is a revolutionary library that combines Chart.js, D3.js, and Three.js into one intuitive API for easy data visualization. It simplifies creating everything from basic charts to complex 3D visuals without sacrificing power or flexibility.

License

Notifications You must be signed in to change notification settings

pigeonposse/powiew

Powiew by PIGEONPOSSE

HEADER

Web About us Github Donate Version 2.0.0 License MIT Chart.js D3.js Three.js

📋 Overview

Powiew is a revolutionary data visualization library that elegantly unifies the capabilities of Chart.js, D3.js, and Three.js under a single intuitive API. Designed to simplify the complexity of modern data visualization, Powiew enables developers to effortlessly create everything from traditional statistical charts to complex 3D data visualizations, all through a consistent interface.

With a robust built-in theming system, intelligent data processing, and advanced event management, Powiew eliminates the need to master multiple libraries while retaining the full power of the underlying tools. Whether for interactive business dashboards, intricate scientific visualizations, or real-time data representations, Powiew democratizes advanced data visualization without compromising flexibility or performance.

✨ Key Features

  • 🔄 Unified API - Work with multiple visualization libraries through a single interface
  • 📱 Responsive Design - Visualizations automatically adapt to different screen sizes
  • 🎨 Theme Support - Built-in light and dark themes with easy customization
  • 🔮 Data Processing - Utilities for data transformation, normalization, and aggregation
  • ✨ Animation - Smooth, customizable animations for all visualization types
  • 💾 Export Capabilities - Export visualizations as PNG, JPEG, or SVG
  • 🎯 Event System - Comprehensive event system for interaction

HEADER

🚀 Installation

Using npm

npm install powiew

Using yarn

yarn add powiew

Using CDN

<script src="https://cdn.jsdelivr.net/npm/powiew@2.0.0/dist/powiew.min.js"></script>

Dependencies

Powiew requires the following libraries:

<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js"></script>
<script src="https://d3js.org/d3.v7.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>

📊 Basic Usage

Initialize Powiew

// Create a new Powiew instance
const vis = new Powiew({
  debug: true,
  responsive: true
});

Create a Chart

// Create a bar chart
const barChart = vis.createChart('#bar-chart', 'bar', {
  labels: ['January', 'February', 'March', 'April', 'May', 'June'],
  datasets: [{
    label: 'Revenue 2025',
    data: [65, 59, 80, 81, 56, 55],
    backgroundColor: 'rgba(54, 162, 235, 0.5)',
    borderColor: 'rgba(54, 162, 235, 1)',
    borderWidth: 1
  }]
});

Create a D3 Visualization

// Create a force-directed graph
const forceGraph = vis.createD3Visualization('#force-graph', 'force', {
  nodes: [
    { id: 'A', group: 1 },
    { id: 'B', group: 1 },
    { id: 'C', group: 2 }
  ],
  links: [
    { source: 'A', target: 'B', value: 1 },
    { source: 'A', target: 'C', value: 1 }
  ]
});

Apply a Theme

// Switch to dark theme
vis.setTheme('dark');

📈 Supported Visualization Types

Chart.js Visualizations

  • Bar
  • Line
  • Pie
  • Doughnut
  • Radar
  • Polar Area
  • Bubble
  • Scatter

D3.js Visualizations

  • Tree
  • Force
  • Sankey
  • Treemap
  • Chord
  • Pack

Three.js Visualizations

  • Bar3D
  • Scatter3D
  • Surface
  • Globe

📖 API Reference

Main methods available in Powiew:

  • createChart(container, type, data, options) - Creates a Chart.js visualization
  • createD3Visualization(container, type, data, options) - Creates a D3.js visualization
  • create3DVisualization(container, type, data, options) - Creates a Three.js visualization
  • updateVisualization(visualization, data, options) - Updates an existing visualization
  • destroyVisualization(visualization) - Destroys a visualization
  • setTheme(theme) - Sets a theme for all visualizations
  • exportAsImage(visualization, format, options) - Exports a visualization as an image

🌐 Browser Compatibility

  • ✅ Chrome 60+
  • ✅ Firefox 60+
  • ✅ Safari 12+
  • ✅ Edge 79+
  • ✅ Opera 47+

☕ Donate

Help us to develop more interesting things.

Donate

📜 License

This software is licensed with GPL-3.0.

Read more

🐦 About us

PigeonPosse is a ✨ code development collective ✨ focused on creating practical and interesting tools that help developers and users enjoy a more agile and comfortable experience. Our projects cover various programming sectors and we do not have a thematic limitation in terms of projects.

More

📜 License

This software is licensed with GPL-3.0.

Read more

🐦 About us

PigeonPosse is a ✨ code development collective ✨ focused on creating practical and interesting tools that help developers and users enjoy a more agile and comfortable experience. Our projects cover various programming sectors and we do not have a thematic limitation in terms of projects.

More

Collaborators

Name Role GitHub
Alejo Alejo Author & Development @alejomalia
Pigeonposse PigeonPosse Collective @PigeonPosse

Web About Us Donate Github Twitter Instagram Medium

About

Powiew is a revolutionary library that combines Chart.js, D3.js, and Three.js into one intuitive API for easy data visualization. It simplifies creating everything from basic charts to complex 3D visuals without sacrificing power or flexibility.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •