This is a comprehensive Data Visualization Software built in Java that allows users to:
- Import data from CSV and JSON files
- Process and clean data automatically
- Create interactive visualizations (Bar Chart, Line Chart, Pie Chart, Histogram)
- Customize chart appearance
- Export charts as PNG images
- ✅ CSV file reader with proper parsing
- ✅ JSON file reader with object array support
- ✅ Data cleaning and validation
- ✅ Automatic data type detection
- ✅ Missing data handling
- ✅ Bar Chart - Compare categories
- ✅ Line Chart - Show trends
- ✅ Pie Chart - Display proportions
- ✅ Histogram - Data distribution
- ✅ Interactive charts with zoom and pan
- ✅ Customizable titles and labels
- ✅ Intuitive GUI with Swing
- ✅ File chooser for easy data import
- ✅ Chart type selector
- ✅ Column selectors for flexible visualization
- ✅ Title customization
- ✅ Export functionality
- ✅ Information panel with data statistics
- Java JDK 11 or higher
- Maven (for building)
DataVisualizationSoftware/
├── src/main/java/com/datavis/
│ ├── Main.java # Application entry point
│ ├── model/
│ │ └── DataModel.java # Data storage model
│ ├── dataprocessing/
│ │ ├── DataReader.java # Interface for file readers
│ │ ├── CSVDataReader.java # CSV file parser
│ │ ├── JSONDataReader.java # JSON file parser
│ │ └── DataProcessor.java # Data cleaning and validation
│ ├── visualization/
│ │ └── ChartFactory.java # Chart generation
│ └── ui/
│ └── MainWindow.java # Main application window
├── data/
│ ├── sample_sales.csv # Sample CSV data
│ └── sample_weather.json # Sample JSON data
└── pom.xml # Maven build configuration
-
Build the project:
mvn clean package
-
Run the application:
java -jar target/DataVisualizationSoftware-1.0-jar-with-dependencies.jar
- Open the project folder in your IDE
- Let Maven download dependencies automatically
- Run the
Main.javafile
-
Download JFreeChart library:
- Download jfreechart-1.5.3.jar
- Place it in the
lib/folder
-
Compile:
javac -cp "lib/*" -d bin src/main/java/com/datavis/**/*.java
-
Run:
java -cp "bin:lib/*" com.datavis.Main
-
Launch the Application
- Run the JAR file or Main.java
-
Load Data
- Click "Load Data File" button
- Select a CSV or JSON file
- Sample files are provided in the
data/folder
-
Configure Visualization
- Choose chart type from dropdown
- Select category column (X-axis)
- Select value column (Y-axis)
- Enter a custom title (optional)
-
Generate Chart
- Click "Generate Chart" button
- Chart will appear in the center panel
- You can interact with the chart (zoom, pan)
-
Export Chart
- Click "Export as PNG" button
- Choose save location
- Chart will be saved as PNG image
-
Clear and Start Over
- Click "Clear" button to reset
sample_sales.csv
- Product sales data with revenue information
- Good for: Bar charts, Pie charts
sample_weather.json
- Monthly weather data (temperature and rainfall)
- Good for: Line charts, Histograms
- Java 11
- Swing (GUI framework)
- JFreeChart (Chart library)
- Maven (Build tool)
✅ Data Input and Processing:
- Multiple format support (CSV, JSON)
- Data cleaning algorithms
- Type detection and validation
✅ Visualization Components:
- 4 different chart types
- Interactive and customizable
- Professional appearance
✅ User Interface:
- Clean and intuitive design
- Easy-to-use controls
- Real-time feedback
- Export functionality
Issue: "No main manifest attribute"
- Solution: Use the jar-with-dependencies version
Issue: Charts not displaying
- Solution: Ensure data has at least 2 columns and numeric values
Issue: File not loading
- Solution: Check file format (must be valid CSV or JSON)
- Additional chart types (Scatter plot, Area chart)
- Database connectivity
- Real-time data updates
- Multiple data series support
- Advanced statistics
- Theme customization
Developed as part of Java Developer Internship - Week 3 Project Data Visualization Software v1.0
This project is created for educational purposes as part of an internship assignment.