CY-Wire is a robust application leveraging AVL trees to efficiently process, sort, and visualize data related to electric stations. This project was designed to streamline data analysis while providing meaningful visual insights via Gnuplot.
- Data Collection: Imports and processes electric station data from CSV files.
- Sorting and Analysis: Organizes stations by metrics such as capacity or difference values.
- Ranking: Generates top 10 and bottom 10 station rankings.
- Visualization: Produces automated scripts and charts for clear data representation.
- Sorting: Implements AVL trees for efficient sorting of station data.
- File Generation: Exports sorted data to CSV files for easy access.
- Visualization: Utilizes Gnuplot scripts to generate insightful charts.
- Data Analysis: Highlights key metrics to identify top-performing and underperforming stations.
CY_Wire
├── codeC
│ ├── bin
│ │ └── main
│ ├── obj
│ │ ├── main.o
│ │ └── tree.o
│ ├── main.c
│ ├── makefile
│ ├── tree.c
│ └── tree.h
├── input
│ └── <input files: see "How to Use">
├── output
│ └── <generated results>
├── tests
│ └──
├── tmp
│ └── <temporary files - can be ignored>
├── .gitignore
├── c-wire.sh
├── LICENSE
└── README.md
Note: This project also integrates AI-generated components to enhance functionality.
- Clone the repository:
git clone https://github.com/mxth2xs/CY_Wire.git
- Navigate to the project directory:
cd CY_Wire - Make sure that you have GnuPlot
sudo apt-get install gnuplot
- Prepare your data by following the "How to Use" section.
- Execute the script with the desired parameters or use:
./c-wire.sh -h
Ensure your input data file is located in the input/ directory.
Use the syntax:
./c-wire.sh <csv_file_path> <station_type> <consumer_type> [plant_id] csv_file_path: Path to the CSV file containing station data.station_type: Type of station to analyze (hvb,hva,lv).consumer_type: Consumer category (comp,indiv,all).plant_id: (Optional) Filter by specific plant ID; defaults to-1(no filter).
- Analyze all low-voltage stations for all consumer types:
./c-wire.sh data.csv lv all
- Analyze high-voltage B stations for companies with Plant ID
1234:./c-wire.sh data.csv hvb comp 1234
Results will be generated in the output/ directory.
graph TD
Start --> Input[Load CSV Data]
Input --> AVL[Build AVL Tree]
AVL --> Analysis[Sort and Analyze Data]
Analysis --> Files[Generate Output Files]
Files --> Visualization[Create Gnuplot Scripts and Charts]
Visualization --> End[Complete]
- Introduce additional metrics for analysis and sorting.
- Enable interactive visualizations for dynamic insights.
- Develop a web-based frontend for simplified user interaction.
For questions or contributions, reach out to any team member via the Team section.
Special thanks to our CYTech instructors for their guidance and support!