Не могу визуализировать данные на много маленьких графиков

Я хочу визуализировать данные как на следующей картинке введите сюда описание изображения

но когда я пытаюсь визуализировать свои данные у меня получается вот так введите сюда описание изображения

вот мой dataframe

dataframe


Ответы (1 шт):

Автор решения: strawdog

Как я уже сказал, построение такого количества графиков на одном холсте - ресурсоемкая и небыстрая задача. Предлагаю автору вопроса пересмотреть формат вывода данных. Я же для примера пока приведу решение для первых 10-ти стран:

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

df = pd.read_csv("df.csv", index_col=0)

fig = plt.figure(constrained_layout=True, figsize=(12, 50))
spec = gridspec.GridSpec(ncols=1, nrows=10, figure=fig)
sn=0
tpos = np.linspace(0, len(df.columns)-1, num=10, endpoint=True, dtype='int')
# num=10 - 10 графиков, по количеству отображаемых стран

for i in range(1, 11): # первые 10 стран (считая с 1 столбца, не включая 11-й)   
    ax = fig.add_subplot(spec[sn, 0])
    ax.plot(df.iloc[i][1:])
    ax.set_xticks(tpos)
    ax.set_xticklabels(tpos)
    ax.set_title(df.iloc[i][0])
    sn+=1

Результат будет выглядеть так: введите сюда описание изображения

→ Ссылка