DataFrame.plot()

Метод plot() строит график на основе данных в DataFrame или Series. Использует matplotlib как бэкенд по умолчанию и поддерживает разные типы: линия, столбцы, гистограмма, scatter.

Сигнатура

DataFrame.plot(x=None, y=None, kind="line", ax=None, figsize=None,
               title=None, grid=None, legend=True, xlabel=None,
               ylabel=None, **kwargs)

Параметры

  • x, y — столбцы для осей X и Y.

  • kind — тип графика: "line", "bar", "barh", "hist", "box", "scatter", "pie", "area".

  • figsize — размер фигуры в дюймах: (width, height).

  • title — заголовок.

  • grid — показывать сетку.

Возвращаемое значение

Объект matplotlib.axes.Axes (или массив осей).

Примеры

Пример 1. Линейный график температуры

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({
    "minute": [0, 1, 2, 3, 4],
    "temp":   [22.0, 22.4, 22.8, 23.1, 23.3],
})
df.plot(x="minute", y="temp", title="Температура датчика")
plt.savefig("temp.png")
# создан файл temp.png с линейным графиком

Пример 2. Столбчатая диаграмма

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({
    "robot": ["P1", "P2", "P3"],
    "runs":  [12, 8, 15],
})
df.plot(x="robot", y="runs", kind="bar", title="Запуски роботов")
plt.savefig("runs.png")
# создан файл runs.png со столбцами

Пример 3. Несколько серий на одном графике

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({
    "t":  [0, 1, 2, 3],
    "A":  [22, 23, 23, 24],
    "B":  [21, 22, 23, 23],
})
df.plot(x="t", y=["A", "B"], title="Два датчика")
plt.savefig("two.png")
# на одних осях две линии A и B

Пример 4. Scatter

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({
    "temp": [22, 24, 26, 28, 30],
    "hum":  [60, 55, 50, 45, 40],
})
df.plot(x="temp", y="hum", kind="scatter")
plt.savefig("scatter.png")
# точечный график зависимости влажности от температуры

Пример 5. Гистограмма

import pandas as pd
import matplotlib.pyplot as plt

s = pd.Series([22, 23, 22, 24, 23, 25, 22, 23, 24, 23])
s.plot(kind="hist", bins=4, title="Распределение")
plt.savefig("hist.png")
# гистограмма с 4 корзинами

См. также

Примечание

Лицензия и источники

Техническое описание функции адаптировано из официальной документации Pandas (https://pandas.pydata.org/docs/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.