Python-ы Matplotlib болон Seaborn сангуудыг ашиглан Монгол улсын хүн амын тоон мэдээллийг графикаар хэрхэн дүрслэхийг энэхүү нийтлэлээр үзье. Хүн амын тооны өгөгдлийг 1212.mn сайтаас авч бэлдсэн.
Эхлээд шаардлагатай сангуудаа оруулж ирнэ.
# Шаардлагатай сангуудыг оруулна
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
Бэлдсэн өгөгдлөө уншиж оруулна.
population = pd.read_excel('population.xlsx')
population.head()
Индексийг жилээр сольж, өгөгдлийг 1000-д хувааж хувиргалт хийнэ.
population.set_index('Year', inplace=True)
population = population.div(1000).round(1)
population.head()
Бэлдсэн өгөгдлөө ашиглан шугаман график, баганан график болон heatmap байгуулъя.
Шугаман график байгуулах жишээ
# Графикны урт, өргөнийг тохируулна
plt.figure(figsize=(16,6))
# Өгөгдлөө ашиглан шугаман график байгуулна
sns.lineplot(data=population)
Графиктаа гарчиг өгөхдөө дараах тохиргоог хийнэ.
# Графикны урт, өргөнийг тохируулна
plt.figure(figsize=(16,6))
# Гарчиг тохируулах
plt.title("Хүн амын тоо, бүсээр, 1990-2021 (Мянган хүн)")
# Өгөгдлөө ашиглан шугаман график байгуулна
sns.lineplot(data=population)
Зөвхөн хангайн бүс болон төвийн бүсийн өгөгдлөөр график байгуулах
# Графикны урт, өргөнийг тохируулна
plt.figure(figsize=(14,6))
# Гарчиг тохируулах
plt.title("Хүн амын тоо, бүсээр, 1990-2021 (Мянган хүн)")
# Line chart 1 - Хангайн бүс
sns.lineplot(data=population['Хангайн бүс'], label="Хангай")
# Line chart 2 - Төвийн бүс
sns.lineplot(data=population['Төвийн бүс'], label="Төв")
# Хэвтээ тэнхлэгийн гарчиг
plt.xlabel("Жил")
# Босоо тэнхлэгийн гарчиг
plt.ylabel("Хүн амын тоо")
Баганан график байгуулах жишээ
# Бэлдсэн өгөгдөл унших
aimag = pd.read_excel('aimag.xlsx')
# Баганын нэр өөрчлөх
aimag = aimag.rename(columns={2021: 'Хүн ам'})
# Index өөрчлөх
aimag.set_index('Аймаг', inplace=True)
# Өгөгдлийн эхний мөрүүдийг харах
aimag.head()
Өгөгдлөө ашиглан график байгуулах
# Графикны урт, өргөнийг тохируулна
plt.figure(figsize=(10,6))
# Гарчиг тохируулах
plt.title("Аймгуудын хүн ам")
# Bar chart
sns.barplot(x=aimag.index, y=aimag['Хүн ам'])
# Босоо тэнхлэгт нэр өгөх
plt.ylabel("Хүн намын тоо")
Хэвтээ тэнхлэгийн нэрийг 45 градус эргүүлж харахад тохиромжтой болгох
# Графикны урт, өргөнийг тохируулна
plt.figure(figsize=(10,6))
# Гарчиг тохируулах
plt.title("Аймгуудын хүн ам")
# Bar chart
sns.barplot(x=aimag.index, y=aimag['Хүн ам'])
# Босоо тэнхлэгт нэр өгөх
plt.ylabel("Хүн намын тоо")
# Тэнхлэг эргүүлэх
plt.xticks(rotation=45)
Heatmap байгуулах
# Графикны урт, өргөнийг тохируулна
plt.figure(figsize=(14,7))
# Гарчиг тохируулах
plt.title("Бүсүүдийн хүн амын тоо")
# Heatmap
sns.heatmap(data=population, annot=False)
# Хэвтээ тэнхлэгийн нэр тохируулах
plt.xlabel("Бүсүүд")