Matplolib Tips

машинное обучение искусственный интеллект Python алгоритм NumPy

            Matplolib Tips

Matplotlib — это наиболее часто используемая библиотека инструментов для построения графиков данных Python, поддерживающая различныестильРендеринг изображения данных. В этой статье представлены некоторые соображения по использованию библиотеки Matplotlib, в том числе:

  • subplots
  • Настройка макета
  • спектрограмма
  • pcolormesh
  • улучшение стиля

разное:

  • набор цветов
  • Гистограмма

subplots

subplots() — это начало сюжета, создающее расположение различных подграфиков.

следующее:

import matplotlib.pyplot as plt

fig, axes = plt.subplots(nrows=2, ncols=2)
plt.show()

Окончательное изображение отображается с помощью метода plt.show().

возвращение:

  • fig: нижняя версия рисунка, используемая для отображения всего контура фона, эквивалентная plt.gcf();
  • axes: Сборник подграфов, одиночных сайте в следующем последующем, таких какaxes[0][0];

параметр:

  • nrowsиncols: Строки и столбцы расположения подграфов;

Нерегулярное расположение с использованием subplot2grid(),结构shapeи位置locУпорядочить подграфы, например, упорядочить 5 подграфов, верхние три и нижние две структуры:

ax1 = plt.subplot2grid(shape=(2, 6), loc=(0, 0), colspan=2)
ax2 = plt.subplot2grid((2, 6), (0, 2), colspan=2)
ax3 = plt.subplot2grid((2, 6), (0, 4), colspan=2)
ax4 = plt.subplot2grid((2, 6), (1, 1), colspan=2)
ax5 = plt.subplot2grid((2, 6), (1, 3), colspan=2)

Настройка макета

В процессе расположения подграфов может возникнуть:

  • Окклюзия оси координат:использоватьtight_layout()Установите интервал, гдеpadпредставляет общее расстояние между контурами,w_padпредставляет горизонтальный интервал подграфов,h_padОн представляет собой вертикальный субграф между интервалом;
  • Плотность изображения:использоватьset_size_inches()Установите конкретный размер (в дюймах) длины и ширины изображения;

который:

plt.tight_layout(pad=0.4, w_pad=0.5, h_pad=1.0)
fig = plt.gcf()
fig.set_size_inches(10, 8)

Таким образом, подграфы можно элегантно расположить вместе.


specgram

Рекомендуется использовать specgram() для отображения непрерывных сигналов, то есть спектрограммы.

параметр:

  • x: список непрерывных значений сигнала;
  • Fs: частота кадров сигнала;

который:

axes[0, 0].specgram(x=y, Fs=sr)  # 光谱图
axes[0, 0].set_title('std')

set_title()Используется для установки заголовка изображения.

光谱图

непрерывный сигналНе рекомендуетсяПри использовании отображения линейного графика, поскольку сигнал обычно содержит частоту кадров, то есть количество сигналов в секунду, и при использовании отображения линейного графика информация о частоте кадров будет игнорироваться, и сходство форм сигналов не может быть отражено.


pcolormesh

Двумерные объекты рекомендуется отображать с помощью pcolormesh(). Кроме того, аналогичные форматы отображения:

  • контурf: контурная линия, похожая на pcolormesh, граница более размыта;
  • imshow: режим изображения, поддерживает обработку размытия, адаптивную ширину и высоту необходимо установить для атрибута «авто» аспекта;

который

axes[0, 0].pcolormesh(df1)
axes[0, 1].contourf(df2)
axes[1, 0].imshow(df2, interpolation='bicubic', aspect='auto')
axes[1, 1].axis('off')

axis('off')Используется для закрытия подсюжетов.

pcolormesh

2D-функцииНе рекомендуетсяИспользуйте точечную диаграмму, потому что область отображения точечной диаграммы мала, а эффект контрастности плохой.


улучшение стиля

seabornэто расширение цвета и стиля для Matplotlib.

Как использовать: Перед рисованием plt объявите другие стили отображения через seaborn.

import seaborn as sns

sns.set(style='ticks', palette='Set2')

набор цветов

матплотлибцветы,Ссылаться на


Гистограмма

Рисование стандартной гистограммы, исходные данныеhist_dataэто данные списка.

def plot_hist(hist_data):
    """
    绘制直方图
    :param hist_data: 直方图数据
    :return: 展示图
    """
    hist_data = np.asarray(hist_data)
    sns.set(style='ticks', palette='Set2')
    fig, aux = plot.subplots(ncols=1, nrows=1)
    aux.hist(hist_data, bins=50, facecolor='magenta', alpha=0.75)
    plot.show()

заось Х(или Y):

  • set_xlabelустановить метку;
  • set_xlimУстановить диапазон значений координат
  • set_xticksУстановите степень детализации значений координат;

Примечание. Диапазон (lim) и степень детализации (галочки) значений координат максимально однородны.

aux.set_xlabel("sec")
aux.set_ylabel("num")
min_x, max_x = 8, 22
aux.set_xlim([min_x, max_x])
aux.set_xticks(range(min_x, max_x, 1))

Hist


Добро пожаловать в Следуй за мнойGitHub: https://GitHub.com/шип Кинг

C. L. Wang @ Meitu Cloud Business Unit

OK, that's all!