48  Problem #3

Pliki są dostępne tutaj https://github.com/pjastr/aiwd-book/tree/main/dataset

Cel: piramida wieku

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

# Wczytanie danych
df = pd.read_csv('dataset/wiek.csv')

# Przygotowanie wartości
male = -df['Mężczyźni']
female = df['Kobiety']
age_groups = df['Grupa wiekowa']

# Rysowanie wykresu przy użyciu
plt.figure(figsize=(8, 6))
plt.barh(age_groups, male, label='Mężczyźni')
plt.barh(age_groups, female, label='Kobiety')
plt.xlabel('Liczba osób')
plt.ylabel('Grupa wiekowa')
plt.title('Piramida wieku populacji')

# Definicja ticków co 2000, od -8000 do +8000, i wyświetlenie ich jako wartości bezwzględnych
ticks = np.arange(-8000, 8001, 2000)
labels = np.abs(ticks)
plt.xticks(ticks, labels)

plt.legend()
plt.grid(axis='x', linestyle='--', alpha=0.5)
plt.tight_layout()
plt.show()

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

# Wczytanie danych
df = pd.read_csv('dataset/wiek.csv')

# Przygotowanie wartości
male = -df['Mężczyźni']
female = df['Kobiety']
age_groups = df['Grupa wiekowa']


fig, ax = plt.subplots(figsize=(8, 6))

ax.barh(age_groups, male, label='Mężczyźni')
ax.barh(age_groups, female, label='Kobiety')

ax.set_xlabel('Liczba osób')
ax.set_ylabel('Grupa wiekowa')
ax.set_title('Piramida wieku populacji')

# Definicja ticków co 2000, od -8000 do +8000, i wyświetlenie ich jako wartości bezwzględnych
ticks = np.arange(-8000, 8001, 2000)
labels = np.abs(ticks)
ax.set_xticks(ticks)
ax.set_xticklabels(labels)

ax.legend()
ax.grid(axis='x', linestyle='--', alpha=0.5)

fig.tight_layout()
plt.show()