An interactive dashboard built with React, D3.js, and Tailwind CSS that visualizes the classic car dataset through multiple coordinated charts. Users can filter by car origin and explore meaningful trends in MPG, acceleration, horsepower, and engine cylinders.
- 🎯 Origin Filter: Filter data by American, European, or Japanese cars — all charts update together
- 📊 Bubble Chart: Visualizes Horsepower vs. Acceleration with MPG as bubble size and origin as color
- 📉 Connected Scatter Plot: Time series of selected metrics (MPG, Acceleration, Cylinders) with line plots by origin
- 📦 Histogram: Frequency of engine cylinders with adjustable bin size and tooltip
- 🔥 Heatmap: Displays average MPG by Year and Origin with gradient coloring and tooltip
- 🖼️ Export to Image: Download any chart as PNG
- ⚡ Fully Responsive: Built with Tailwind CSS and React components
- 🧠 Coordinated Filtering: All charts sync when filters are applied
Tech | Purpose |
---|---|
React | Component-based UI and state control |
D3.js | Drawing charts, scales, and interactivity |
Tailwind CSS | Utility-first responsive styling |
html2canvas | Capture and download chart images |
React Router | Multi-page structure and navigation |
Vite | Fast development build system |
src/
│
├── components/
│ ├── AllVisuals.jsx
│ ├── BubbleChart.jsx
│ ├── ConnectedScatterPlot.jsx
│ ├── Histogram.jsx
│ └── Heatmap.jsx
│
├── data/
│ └── DataContext.jsx
│
├── App.jsx
└── main.jsx
We use the classic cars dataset available as cars data.csv
in the public/
folder.
D3 is used for:
- Building custom SVG-based charts with precise layout control
- Using d3.scale for positioning, colors, and sizing
- Creating interpolated color gradients for the heatmap
- Using d3.bin, d3.mean, and d3.groups for histogram bins and data aggregation
- Managing brush zoom interactions in the Bubble Chart
D3 provides complete control over the visual storytelling of your data.
git clone (repo_url) cd Ignition-Insights
npm install
npm run dev
- Make sure the
cars data.csv
file is placed inside thepublic/
folder - Tooltips, legends, and transitions are implemented using native D3
- Uses React's Context API to share filtered data across components
- Tailwind CSS is used for responsive design and styling
This project is licensed Pranava Sree Pottipati, Dinesh Rohit Ravuri, Rishik Pendurthi.
https://pranava-rohit-rishik-iv-project.netlify.app/
Special thanks to: