A powerful Python-based data visualization tool that supports 60+ different chart types including area graphs, bar charts, heatmaps, network diagrams, geographic visualizations, and much more.
Basic Charts:
- Area Graph
- Bar Chart
- Line Graph
- Scatterplot
- Pie Chart
- Donut Chart
- Histogram
- Box & Whisker Plot
Advanced Charts:
- Heatmap
- Violin Plot
- Radar Chart
- Sunburst Diagram
- Treemap
- Sankey Diagram
- Parallel Coordinates Plot
Geographic Visualizations:
- Choropleth Map
- Bubble Map
- Dot Map
- Flow Map
Network & Relationship Charts:
- Network Diagram
- Connection Map
- Chord Diagram
- Non-ribbon Chord Diagram
Specialized Charts:
- Candlestick Chart
- OHLC Chart
- Gantt Chart
- Timeline
- Population Pyramid
- Word Cloud
- Venn Diagram
Radial & Polar Charts:
- Radial Bar Chart
- Radial Column Chart
- Nightingale Rose Chart
- Spiral Plot
Statistical Charts:
- Error Bars
- Density Plot
- Stem & Leaf Plot
- Kagi Chart
- Point & Figure Chart
Hierarchical Charts:
- Tree Diagram
- Circle Packing
- Brainstorm Diagram
- Flow Chart
- Illustration Diagram
Time-based Charts:
- Calendar Heatmap
- Timetable
- Stream Graph
- Span Chart
Special Purpose Charts:
- Bullet Graph
- Marimekko Chart
- Pictogram Chart
- Tally Chart
- Proportional Area Chart
-
Clone or download the project files
-
Install dependencies:
pip install -r requirements.txt
-
Run the application:
streamlit run app.py
-
Open your browser and navigate to
http://localhost:8501
Data Visualization Tools/
βββ app.py # Main Streamlit application
βββ advanced_charts.py # Additional chart implementations
βββ requirements.txt # Python dependencies
βββ README.md # This file
- Upload your CSV file using the file uploader in the sidebar
- The tool will automatically generate sample data if no file is uploaded
- Supported format: CSV files
- Choose from 60+ different chart types from the dropdown menu
- Each chart type is optimized for specific data patterns
- View your data structure and content in the expandable "Data Preview" section
- Check data shape and column information
- All charts are interactive and responsive
- Hover over elements for detailed information
- Zoom, pan, and explore your data
The tool works with CSV files containing columns like:
date: Time series datacategory: Categorical datasubcategory: Sub-categoriesvalue: Numerical valuesvalue2: Secondary numerical valuessize: Size values for bubble chartscolor: Color categoriesregion: Geographic regionsopen,high,low,close: OHLC datavolume: Volume datatext: Text data for word clouds
- Create a new function in
advanced_charts.py - Add the function to the
chart_functionsdictionary inapp.py - Update the chart types list in the sidebar
- Time Series Charts: Require
datecolumn - Geographic Charts: Require latitude/longitude or country names
- Network Charts: Work with relationship data
- Statistical Charts: Require numerical data
- Bar, Line, Area, Scatter plots
- Histograms, Box plots
- Pie and Donut charts
- Heatmaps, Violin plots
- Radar charts, Sunburst diagrams
- Parallel coordinates, Sankey diagrams
- Choropleth maps
- Bubble maps, Dot maps
- Flow maps
- Network diagrams
- Connection maps
- Chord diagrams
- Candlestick charts
- Gantt charts
- Calendar heatmaps
- Error bars
- Density plots
- Stem & leaf plots
- Interactive Charts: All charts support zoom, pan, and hover interactions
- Responsive Design: Works on desktop and mobile devices
- Data Export: Download charts as images
- Real-time Updates: Charts update automatically when data changes
- Multiple Chart Types: Switch between different visualizations instantly
- Chart not rendering: Check if your data has the required columns
- Missing dependencies: Run
pip install -r requirements.txt - Port already in use: Change the port with
streamlit run app.py --server.port 8502
- Ensure your CSV file has the necessary columns
- Check data types (dates should be in datetime format)
- Remove any missing values if needed
date,category,subcategory,value,value2,size,color,region
2023-01-01,A,X,100,50,25,Red,North
2023-01-02,B,Y,120,60,30,Blue,South
2023-01-03,C,Z,90,45,20,Green,EastFeel free to contribute by:
- Adding new chart types
- Improving existing visualizations
- Enhancing the user interface
- Adding new data processing features
This project is open source and available under the MIT License.
For issues or questions:
- Check the troubleshooting section
- Review the data format requirements
- Ensure all dependencies are installed
Built with β€οΈ using Streamlit, Plotly, and Python