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')
Используется для закрытия подсюжетов.
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))
Добро пожаловать в Следуй за мнойGitHub: https://GitHub.com/шип Кинг
C. L. Wang @ Meitu Cloud Business Unit
OK, that's all!