fixed lousy xaxes titles and digits on waterfalls

This commit is contained in:
2025-12-21 15:31:15 +03:00
parent ab82071781
commit 885c0a0611

View File

@ -482,8 +482,13 @@ def main():
cmap=args.cmap, cmap=args.cmap,
) )
ax_img.set_title("Сырые данные", pad=12) ax_img.set_title("Сырые данные", pad=12)
ax_img.set_xlabel("Время, сек") ax_img.set_xlabel("")
ax_img.set_ylabel("частота") ax_img.set_ylabel("частота")
# Не показываем численные значения по времени на водопаде сырых данных
try:
ax_img.tick_params(axis="x", labelbottom=False)
except Exception:
pass
# Водопад спектров # Водопад спектров
img_fft_obj = ax_spec.imshow( img_fft_obj = ax_spec.imshow(
@ -494,8 +499,13 @@ def main():
cmap=args.cmap, cmap=args.cmap,
) )
ax_spec.set_title("B-scan (дБ)", pad=12) ax_spec.set_title("B-scan (дБ)", pad=12)
ax_spec.set_xlabel("Время, с (новое справа)") ax_spec.set_xlabel("")
ax_spec.set_ylabel("расстояние") ax_spec.set_ylabel("расстояние")
# Не показываем численные значения по времени на B-scan
try:
ax_spec.tick_params(axis="x", labelbottom=False)
except Exception:
pass
# Для контроля частоты обновления # Для контроля частоты обновления
max_fps = max(1.0, float(args.max_fps)) max_fps = max(1.0, float(args.max_fps))
@ -662,15 +672,7 @@ def main():
disp = make_display_ring() disp = make_display_ring()
# Новые данные справа: без реверса # Новые данные справа: без реверса
img_obj.set_data(disp) img_obj.set_data(disp)
times = make_display_times() # Подписи времени не обновляем динамически (оставляем авто-тики)
if times is not None and np.isfinite(times).sum() >= 2:
t0 = float(times[np.isfinite(times)][0])
rel = times - t0
T = disp.shape[1]
idx = np.linspace(0, T - 1, num=5, dtype=int)
labels = [f"{rel[i]:.1f}" if np.isfinite(rel[i]) else "" for i in idx]
ax_img.set_xticks(idx)
ax_img.set_xticklabels(labels)
# Актуализируем цветовую шкалу только при расширении экстремумов # Актуализируем цветовую шкалу только при расширении экстремумов
if y_min is not None and y_max is not None and np.isfinite(y_min) and np.isfinite(y_max): if y_min is not None and y_max is not None and np.isfinite(y_min) and np.isfinite(y_max):
if y_min != y_max: if y_min != y_max:
@ -681,15 +683,7 @@ def main():
disp_fft = make_display_ring_fft() disp_fft = make_display_ring_fft()
# Новые данные справа: без реверса # Новые данные справа: без реверса
img_fft_obj.set_data(disp_fft) img_fft_obj.set_data(disp_fft)
times = make_display_times() # Подписи времени не обновляем динамически (оставляем авто-тики)
if times is not None and np.isfinite(times).sum() >= 2:
t0 = float(times[np.isfinite(times)][0])
rel = times - t0
T = disp_fft.shape[1]
idx = np.linspace(0, T - 1, num=5, dtype=int)
labels = [f"{rel[i]:.1f}" if np.isfinite(rel[i]) else "" for i in idx]
ax_spec.set_xticks(idx)
ax_spec.set_xticklabels(labels)
# Автодиапазон по среднему спектру за видимый интервал (как в хорошей версии) # Автодиапазон по среднему спектру за видимый интервал (как в хорошей версии)
try: try:
# disp_fft имеет форму (bins, time); берём среднее по времени # disp_fft имеет форму (bins, time); берём среднее по времени
@ -768,6 +762,10 @@ def run_pyqtgraph(args):
p_img.invertY(False) p_img.invertY(False)
p_img.showGrid(x=False, y=False) p_img.showGrid(x=False, y=False)
p_img.setLabel("bottom", "Время, с (новое справа)") p_img.setLabel("bottom", "Время, с (новое справа)")
try:
p_img.getAxis("bottom").setStyle(showValues=False)
except Exception:
pass
p_img.setLabel("left", "X (0 снизу)") p_img.setLabel("left", "X (0 снизу)")
img = pg.ImageItem() img = pg.ImageItem()
p_img.addItem(img) p_img.addItem(img)
@ -784,6 +782,10 @@ def run_pyqtgraph(args):
p_spec.invertY(True) p_spec.invertY(True)
p_spec.showGrid(x=False, y=False) p_spec.showGrid(x=False, y=False)
p_spec.setLabel("bottom", "Время, с (новое справа)") p_spec.setLabel("bottom", "Время, с (новое справа)")
try:
p_spec.getAxis("bottom").setStyle(showValues=False)
except Exception:
pass
p_spec.setLabel("left", "Бин (0 снизу)") p_spec.setLabel("left", "Бин (0 снизу)")
img_fft = pg.ImageItem() img_fft = pg.ImageItem()
p_spec.addItem(img_fft) p_spec.addItem(img_fft)