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 напрямую).