manually fixed pads and labels

This commit is contained in:
2025-12-21 15:21:48 +03:00
parent b86d2c082e
commit ab82071781

View File

@ -429,7 +429,8 @@ def main():
fig, axs = plt.subplots(2, 2, figsize=(12, 8)) fig, axs = plt.subplots(2, 2, figsize=(12, 8))
(ax_line, ax_img), (ax_fft, ax_spec) = axs (ax_line, ax_img), (ax_fft, ax_spec) = axs
fig.canvas.manager.set_window_title(args.title) if hasattr(fig.canvas.manager, "set_window_title") else None fig.canvas.manager.set_window_title(args.title) if hasattr(fig.canvas.manager, "set_window_title") else None
fig.tight_layout() # Увеличим расстояния между графиками, чтобы избежать наложения подписей
fig.subplots_adjust(wspace=0.2, hspace=0.3, left=0.07, right=0.98, top=0.92, bottom=0.08)
# Состояние для отображения # Состояние для отображения
current_sweep: Optional[np.ndarray] = None current_sweep: Optional[np.ndarray] = None
@ -450,14 +451,14 @@ def main():
# Линейный график последнего свипа # Линейный график последнего свипа
line_obj, = ax_line.plot([], [], lw=1) line_obj, = ax_line.plot([], [], lw=1)
ax_line.set_title("Сырые данные") ax_line.set_title("Сырые данные", pad=1)
ax_line.set_xlabel("X") ax_line.set_xlabel("F")
ax_line.set_ylabel("Y") ax_line.set_ylabel("")
# Линейный график спектра текущего свипа # Линейный график спектра текущего свипа
fft_line_obj, = ax_fft.plot([], [], lw=1) fft_line_obj, = ax_fft.plot([], [], lw=1)
ax_fft.set_title("FFT") ax_fft.set_title("FFT", pad=1)
ax_fft.set_xlabel("Бин") ax_fft.set_xlabel("X")
ax_fft.set_ylabel("Амплитуда, дБ") ax_fft.set_ylabel("Амплитуда, дБ")
# Диапазон по Y для последнего свипа: авто по умолчанию (поддерживает отрицательные значения) # Диапазон по Y для последнего свипа: авто по умолчанию (поддерживает отрицательные значения)
@ -480,9 +481,9 @@ def main():
origin="lower", origin="lower",
cmap=args.cmap, cmap=args.cmap,
) )
ax_img.set_title("Сырые данные водопад") ax_img.set_title("Сырые данные", pad=12)
ax_img.set_xlabel("Время, с (новое справа)") ax_img.set_xlabel("Время, сек")
ax_img.set_ylabel("X (0 снизу)") ax_img.set_ylabel("частота")
# Водопад спектров # Водопад спектров
img_fft_obj = ax_spec.imshow( img_fft_obj = ax_spec.imshow(
@ -492,9 +493,9 @@ def main():
origin="lower", origin="lower",
cmap=args.cmap, cmap=args.cmap,
) )
ax_spec.set_title("B-scan (дБ)") ax_spec.set_title("B-scan (дБ)", pad=12)
ax_spec.set_xlabel("Время, с (новое справа)") ax_spec.set_xlabel("Время, с (новое справа)")
ax_spec.set_ylabel("Бин (0 снизу)") ax_spec.set_ylabel("расстояние")
# Для контроля частоты обновления # Для контроля частоты обновления
max_fps = max(1.0, float(args.max_fps)) max_fps = max(1.0, float(args.max_fps))