Pandas: как построить несколько dataframes на подзаголовках
Вы можете использовать следующий базовый синтаксис для построения нескольких кадров данных pandas в подграфиках:
import matplotlib. pyplot as plt #define subplot layout fig, axes = plt. subplots (nrows= 2 , ncols= 2 ) #add DataFrames to subplots df1. plot (ax=axes[0,0]) df2. plot (ax=axes[0,1]) df3. plot (ax=axes[1,0]) df4. plot (ax=axes[1,1])
В следующем примере показано, как использовать этот синтаксис на практике.
Пример: построение нескольких фреймов данных Pandas на подграфиках
Допустим, у нас есть четыре DataFrame panda, которые содержат информацию о продажах и возвратах в четырех разных розничных магазинах:
import pandas as pd #create four DataFrames df1 = pd. DataFrame ({' sales ': [2, 5, 5, 7, 9, 13, 15, 17, 22, 24], ' returns ': [1, 2, 3, 4, 5, 6, 7, 8, 7, 5]}) df2 = pd. DataFrame ({' sales ': [2, 5, 11, 18, 15, 15, 14, 9, 6, 7], ' returns ': [1, 2, 0, 2, 2, 4, 5, 4, 2, 1]}) df3 = pd. DataFrame ({' sales ': [6, 8, 8, 7, 8, 9, 10, 7, 8, 12], ' returns ': [1,0, 1, 1, 1, 2, 3, 2, 1, 3]}) df4 = pd. DataFrame ({' sales ': [10, 7, 7, 6, 7, 6, 4, 3, 3, 2], ' returns ': [4, 4, 3, 3, 2, 3, 2, 1, 1, 0]})
Мы можем использовать следующий синтаксис для построения каждого из этих DataFrames в подграфике, имеющем макет из 2 строк и 2 столбцов:
import matplotlib. pyplot as plt #define subplot layout fig, axes = plt. subplots (nrows= 2 , ncols= 2 ) #add DataFrames to subplots df1. plot (ax=axes[0,0]) df2. plot (ax=axes[0,1]) df3. plot (ax=axes[1,0]) df4. plot (ax=axes[1,1])
Каждый из четырех DataFrames отображается в подграфике.
Обратите внимание, что мы использовали аргумент axes , чтобы указать, где должен быть размещен каждый DataFrame.
Например, DataFrame с именем df1 был помещен в позицию со значением индекса строки, равным 0 , и значением индекса столбца, равным 0 (например, подграфик в верхнем левом углу).
Также обратите внимание, что вы можете изменить макет подграфиков, используя аргументы nrows и ncols .
Например, следующий код показывает, как организовать подграфики в четыре строки и один столбец:
import matplotlib. pyplot as plt #define subplot layout fig, axes = plt. subplots (nrows= 4 , ncols= 1 ) #add DataFrames to subplots df1. plot (ax=axes[0]) df2. plot (ax=axes[1]) df3. plot (ax=axes[2]) df4. plot (ax=axes[3])
Подграфики теперь расположены в макете с четырьмя строками и одним столбцом.
Обратите внимание: если вы хотите, чтобы подграфики имели одинаковые масштабы по осям y и x, вы можете использовать аргументыsharey иsharex .
Например, следующий код показывает, как использовать аргументshary , чтобы все подграфики имели одинаковый масштаб по оси Y:
import matplotlib. pyplot as plt #define subplot layout, force subplots to have same y-axis scale fig, axes = plt. subplots (nrows= 4 , ncols= 1 , sharey= True ) #add DataFrames to subplots df1. plot (ax=axes[0]) df2. plot (ax=axes[1]) df3. plot (ax=axes[2]) df4. plot (ax=axes[3])
Обратите внимание, что ось Y каждого подграфика теперь находится в диапазоне от 0 до 20.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:
Как создать круговую диаграмму из Pandas DataFrame
Как создать облако точек из Pandas DataFrame
Как создать гистограмму из Pandas DataFrame