app.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
import csv import matplotlib.pyplot as plt import os # Read CSV data names = [] ages = [] with open('users.csv', newline='') as csvfile: reader = csv.DictReader(csvfile) for row in reader: names.append(row['name']) ages.append(int(row['age'])) # Ensure output directory exists os.makedirs('output_charts', exist_ok=True) # 1. Bar Chart plt.figure(figsize=(8, 5)) plt.bar(names, ages, color='skyblue') plt.title('Bar Chart: User Ages') plt.xlabel('Name') plt.ylabel('Age') plt.tight_layout() plt.savefig('output_charts/bar_chart.png') plt.savefig('output_charts/bar_chart.pdf') plt.close() # 2. Pie Chart plt.figure(figsize=(6, 6)) plt.pie(ages, labels=names, autopct='%1.1f%%', startangle=90) plt.title('Pie Chart: Age Distribution') plt.axis('equal') plt.tight_layout() plt.savefig('output_charts/pie_chart.png') plt.savefig('output_charts/pie_chart.pdf') plt.close() # 3. Line Chart plt.figure(figsize=(8, 5)) plt.plot(names, ages, marker='o', linestyle='-', color='green') plt.title('Line Chart: User Ages') plt.xlabel('Name') plt.ylabel('Age') plt.grid(True) plt.tight_layout() plt.savefig('output_charts/line_chart.png') plt.savefig('output_charts/line_chart.pdf') plt.close() print("Charts created and saved in 'output_charts' folder.") |