Appearance
Pyplot
matplotlib.pyplot - это модуль в matplotlib, который предоставляет интерфейс для создания графиков. Он предоставляет набор функций, которые позволяют быстро и легко визуализировать данные. Вот сгруппированные и описанные наиболее часто используемые свойства и методы matplotlib.pyplot:
1. Создание и настройка фигуры и осей:
plt.figure(figsize=(width, height), dpi=dots_per_inch, facecolor=color, edgecolor=color): Создает новое окно (фигуру) для графика.figsize: Кортеж, задающий ширину и высоту фигуры в дюймах.dpi: Разрешение фигуры в точках на дюйм.facecolor: Цвет фона фигуры.edgecolor: Цвет рамки фигуры.
plt.subplot(nrows, ncols, index, **kwargs)илиplt.axes([left, bottom, width, height], **kwargs): Добавляет оси (подграфик) к текущей фигуре.subplotиспользует сетку,axesпозволяет задать положение и размер вручную.nrows: Количество строк подграфиков в сетке (дляsubplot).ncols: Количество столбцов подграфиков в сетке (дляsubplot).index: Индекс подграфика (начиная с 1) (дляsubplot).left, bottom, width, height: Положение и размер осей в долях от размера фигуры (дляaxes).projection: Тип проекции для осей, например,'polar'для полярных координат.
plt.gca(): Возвращает текущие оси (подграфик).plt.gcf(): Возвращает текущую фигуру.plt.close(fig=None): Закрывает фигуру. Еслиfigне указана, закрывает текущую фигуру.plt.close('all')закроет все открытые фигуры.
2. Построение основных типов графиков:
plt.plot(x, y, fmt, **kwargs): Рисует линии и/или маркеры.x, y: Массивы данных для координат x и y.fmt: Строка формата, определяющая цвет, маркер и тип линии (например,'ro-'- красные кружки, соединенные линией).label: Метка для легенды.linewidthилиlw: Толщина линии.linestyleилиls: Тип линии (например,'--'- пунктирная).marker: Тип маркера (например,'o'- круг,'s'- квадрат).colorилиc: Цвет линии/маркера.
plt.scatter(x, y, s=size, c=color, marker=marker, alpha=transparency, **kwargs): Рисует точечную диаграмму (график рассеяния).s: Размер маркеров.c: Цвет маркеров. Может быть как одиночный цвет, так и массив цветов для каждого маркера.alpha: Прозрачность маркеров (от 0 до 1).
plt.bar(x, height, width=bar_width, bottom=bottom_position, align='center', **kwargs): Рисует столбчатую диаграмму.x: Позиции столбцов на оси x.height: Высота столбцов.width: Ширина столбцов.bottom: Позиция нижней части столбцов.align: Выравнивание столбцов ('center' или 'edge').
plt.hist(x, bins=num_bins, range=(min_val, max_val), density=False, cumulative=False, **kwargs): Строит гистограмму.x: Данные для построения гистограммы.bins: Количество или границы интервалов (корзин) гистограммы.range: Диапазон значений для гистограммы.density: ЕслиTrue, то гистограмма нормализуется так, что площадь под ней равна 1.cumulative: ЕслиTrue, то строится кумулятивная гистограмма.
plt.pie(x, labels=labels, autopct='%1.1f%%', shadow=False, startangle=angle, explode=explode_values, **kwargs): Строит круговую диаграмму.x: Размеры секторов круга.labels: Метки для секторов.autopct: Формат для отображения процентов в секторах.shadow: ЕслиTrue, то добавляется тень.startangle: Угол, с которого начинается отрисовка первого сектора.explode: Список, определяющий, на сколько нужно выдвинуть каждый сектор.
plt.imshow(X, cmap=colormap, aspect=aspect_ratio, interpolation=interpolation_method, origin='upper'/'lower', extent=(left, right, bottom, top), **kwargs): Отображает данные как изображение.X: Двумерный массив данных.cmap: Цветовая карта (например,'gray','viridis','jet').aspect: Соотношение сторон изображения ('auto', 'equal' или число).interpolation: Метод интерполяции пикселей.origin: Положение начала координат ('upper' - сверху слева, 'lower' - снизу слева).extent: Задает координаты x и y для углов изображения.
3. Настройка внешнего вида графика:
plt.title(label, fontdict=None, loc='center', pad=None, **kwargs): Добавляет заголовок к графику.label: Текст заголовка.fontdict: Словарь, содержащий настройки шрифта.loc: Положение заголовка ('center', 'left', 'right').pad: Расстояние между заголовком и осями.
plt.xlabel(label, fontdict=None, loc='center', pad=None, **kwargs): Добавляет метку оси x.label: Текст метки.loc: Положение метки ('center', 'left', 'right').
plt.ylabel(label, fontdict=None, loc='center', pad=None, **kwargs): Добавляет метку оси y.label: Текст метки.loc: Положение метки ('center', 'bottom', 'top').
plt.xlim(xmin, xmax)илиplt.xlim((xmin, xmax)): Устанавливает пределы оси x.plt.ylim(ymin, ymax)илиplt.ylim((ymin, ymax)): Устанавливает пределы оси y.plt.xticks(ticks, labels=None, **kwargs): Устанавливает деления и метки на оси x.ticks: Список позиций делений.labels: Список меток делений.
plt.yticks(ticks, labels=None, **kwargs): Устанавливает деления и метки на оси y.plt.legend(loc='best', **kwargs): Отображает легенду графика.loc: Положение легенды ('best', 'upper right', 'upper left', и т.д.).
plt.grid(b=None, which='major', axis='both', **kwargs): Добавляет или убирает сетку на графике.b: True/False для отображения/скрытия сетки.which: Какие деления использовать для сетки ('major', 'minor', 'both').axis: По каким осям отображать сетку ('both', 'x', 'y').
plt.text(x, y, s, fontdict=None, **kwargs): Добавляет текст в произвольную позицию на графике.x, y: Координаты текста.s: Текст для отображения.
plt.annotate(text, xy, xytext=None, arrowprops=None, **kwargs): Добавляет аннотацию на график (текст с указателем).text: Текст аннотации.xy: Координаты точки, которую аннотируем.xytext: Координаты текста аннотации.arrowprops: Словарь, содержащий свойства стрелки.
plt.axvline(x, **kwargs): Рисует вертикальную линию на графике.plt.axhline(y, **kwargs): Рисует горизонтальную линию на графике.plt.axvspan(xmin, xmax, **kwargs): Рисует вертикальный закрашенный прямоугольник на графике.plt.axhspan(ymin, ymax, **kwargs): Рисует горизонтальный закрашенный прямоугольник на графике.
4. Сохранение и отображение графика:
plt.show(): Отображает график в отдельном окне. (Используется только если вы не встраиваете график в другой GUI, например, tkinter).plt.savefig(fname, dpi=dpi, facecolor=facecolor, edgecolor=edgecolor, format='png', bbox_inches='tight', **kwargs): Сохраняет график в файл.fname: Имя файла для сохранения.dpi: Разрешение файла в точках на дюйм.format: Формат файла ('png', 'jpg', 'pdf', 'svg', и т.д.).bbox_inches: Еслиtight, то при сохранении графика обрезаются лишние белые поля.
5. Дополнительные методы (немного реже используемые, но полезные):
plt.setp(obj, **kwargs): Устанавливает свойства объектов matplotlib.plt.colormaps(): Возвращает список доступных цветовых карт.plt.cm.get_cmap(name): Возвращает цветовую карту по ее имени.
Пример использования:
python
import matplotlib.pyplot as plt
import numpy as np
# Создание данных
x = np.linspace(0, 10, 100)
y = np.sin(x)
# Создание фигуры и осей
fig, ax = plt.subplots()
# Построение графика
ax.plot(x, y, label='sin(x)')
# Настройка графика
ax.set_xlabel('X-ось')
ax.set_ylabel('Y-ось')
ax.set_title('График синуса')
ax.legend()
ax.grid(True)
# Сохранение графика
plt.savefig('sin_plot.png')
# Отображение графика (если не используете GUI)
plt.show()Этот список охватывает большинство часто используемых функций и свойств из matplotlib.pyplot. Понимание этих элементов позволит вам создавать разнообразные и информативные графики для визуализации ваших данных. Помните, что для более сложных задач или тонкой настройки графиков, часто требуется обращаться к документации matplotlib и изучать объектно-ориентированный интерфейс (создание объектов Figure и Axes напрямую).