Обновить
256K+

Визуализация данных *

Облекаем данные в красивую оболочку

51,82
Рейтинг
Сначала показывать
Порог рейтинга

Представлен проект anitabi - это карта реальных мест из японских аниме. Anitabi собирает локации прямо в Google Maps: станции, улицы, магазины, школы и целые районы, где происходили сцены из сериалов и фильмов.

Можно открыть тайтл, найти точку и буквально повторить кадр из мульта в реальной жизни. Там уже тысячи локаций по всей Японии, а база пополняется комьюнити вручную. Люди буквально сидят и сравнивают кадры из аниме с реальными улицами. А ещё у проекта открытый API.

Теги:
+1
Комментарии1

Представлена космическая онлайн-карта из произведения «Проект „Аве Мария“». Там показаны основные локации и можно посмотреть Линию Петровой.

Теги:
+5
Комментарии1

Вы когда-нибудь задумывались о том, насколько связен наш мир? Насколько сложно пересечь границу между странами? И вообще сколько их, этих граничных переходов? А насколько хорош аэропорт Вашего города - в сколько стран или направлений из него можно улететь? А есть ли паромы и периодические водные маршруты между двумя государствами? А ходят ли поезда из одной страны в другую, или ветка уже давно заброшена?

Это кажется простой задачей, пока мы находимся в Европе или, к примеру, в Северной Америке. Но начинает быть очень интересным исследованием, когда мы переместимся в Африку, Центральную Азию или, положим, в Южную Америку. А в Карибском бассейне вдруг окажется, что этим маленькие острова и не связаны настолько хорошо между собой.

А если включить в это уравнение закрытость границ, визовые и паспортные ограничение, то внезапно окажется, что задачка-то и не из лёгких.

Именно поэтому и возник проект Портулан: portolanmap.com. Чтобы показать доступность территорий для внешнего мира. Ведь хотелось бы, чтобы границы были только у нас в головах, но на деле нам приходится считаться с границами государств и территорий.

Заглавный экран карты
Заглавный экран карты

Аэропорты, терминалы паромов, сеть железных дорог, включая международные. Визы, посольства, базовая информация по странам. Всё вместе и в очень залипательном формате.

Под капотом - Python-pipeline для сбора и нормализации данных, Svelte/MapLibre GL на фронтенде, статическая раздача через Cloudflare без бэкенда и баз данных.

Теги:
+2
Комментарии4

Представлен открытый проект tokenspeed (онлайн-версия), который показывает, насколько быстро на самом деле обрабатываются разные количества токенов в секунду. Все бенчмарки локальных LLM показывают пропускную способность: «47 токенов/с на M3», «180 токенов/с на 4090», «500 токенов/с на Groq». Но если вы не видели потоковую передачу токенов с такой скоростью, эти цифры трудно понять. tokenspeed — это терминальная утилита, которая передаёт фиктивные токены с любой заданной вами скоростью, так что вы можете увидеть, как эти цифры выглядят на самом деле.

Теги:
+2
Комментарии1

Приглашаем на вебинар: Как превратить BI в единое окно управления компанией: кейс компании «Синтека» на платформе Luxms BI

Дата: 14 мая, четверг
Время: 15:00

Со временем аналитика в компании расползается: разные системы, разные подходы к расчету метрик, отчеты под отдельные задачи. В итоге. чтобы понять реальную картину, приходится собирать данные по кусочкам и спорить о цифрах вместо принятия решений.

На вебинаре команда компании «Синтека», которая использует Luxms BI не только для создания аналитических решений для своих клиентов, но и как основу внутренней управленческой аналитики, расскажет, как они подошли к решению этой задачи у себя.

🔸Расскажем о том, что обычно остается за кадром: как готовятся данные, как выравнивается логика показателей и как выстраиваются связи между функциями — от маркетинга и продукта до финансов и поддержки

🔸Обсудим, как собрать данные из разных контуров в одну систему координат и договориться о едином подходе к метрикам

🔸Разберем конкретные шаги и решения, которые помогли превратить разрозненные данные в связанную систему

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

📍Предварительная регистрация
Вам придет напоминание, а после вебинара пришлем ссылку на запись:)

Теги:
0
Комментарии0

Режимы фильтрации

Удобнейшая фича таблиц в Google Sheets — возможность фильтровать данные по различным условиям. Но есть одна проблема. Если документом пользуется несколько людей, злоупотребление этой функцией приводит к хаосу. «Кто опять изменил таблицу?»

Решение: использовать режимы фильтрации.

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

  • Выбрать в главном меню «Данные / Создать режим фильтрации»

  • Нажать на калькулятор рядом с названием таблицы и выбрать «Создать режим фильтрации»

Плюсы такого подхода:

  1. Режим фильтрации не меняет исходную таблицу.

  2. Его можно сохранить под удобным именем.

  3. На сохранённый режим можно дать ссылку.

Режимы фильтрации позволяют создать несколько представлений одной таблицы и удобно переключаться между ними.

В Excel есть похожая функция, находится в меню «Вид / Представление листа».

Теги:
0
Комментарии0

🏆 «Круги Громова» в Топ-100 ИТ-лидеров – прошу поддержать!

Вместе с Сергеем Громовым, основателем «Кругов Громова», мы стали номинантами рейтинга Топ-100 ИТ-лидеров GlobalCIO за вклад в российскую ИТ-отрасль — выпуск крупнейших на рынке независимых обзоров российских ИТ-систем: BI, ETL, MDM, ESB, RPA, Data Quality, Self-Service, AI и других.

Для нас это ещё одно признание экспертизы в ИТ-сообществе 💙

Поддержать можно до 4 мая — голосование доступно для участников сообщества GlobalCIO со статусом ИТ-руководителя:

👉 Проголосовать за меня https://globalcio.ru/top100/profile/50507/

👉 Проголосовать за Сергея Громова https://globalcio.ru/top100/profile/11219/

Будем благодарны каждому голосу и вашей поддержке! 🙏

Теги:
-8
Комментарии0

Разрываем шаблоны: строим график с разрывом всего на 65 строк

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

Самые ходовые решения этой проблемы — разорванная ось (broken axis) или отдельные бины для аномалий. Проблема в том, что в Matplotlib нет готовой «кнопки» для создания гистограммы с разрывом. Но это легко* собирается руками на уровне нескольких осей.

Вот три рабочих подхода — выбирайте под свою задачу.

  1. Официальный пример из документации Matplotlib. 🔗 Ссылка на гайд. Отлично работает, когда выбросы зашкаливают по одной оси (X или Y). В посте разбирается как раз такой случай: гистограмма с волнистой линией обрыва.

  2. Библиотека brokenaxes делает почти всё сама. Устанавливается стандартно через pip. Вариант для тех, кто не хочет углубляться в ручную настройку.

  3. Логарифмическая шкала (часто — самый простой выход) Если выбросы строго положительные и отличаются на порядки, иногда достаточно двух строк: plt.xscale(«log») или plt.yscale(«log»). Никаких разрывов, никакой ручной работы — при этом график остаётся чистым и читаемым.

import matplotlib.patches as mpatches
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.path import Path


def plot_broken_axis(
    labels: list[str],
    values: tuple[float, ...],
    ylim_low=(0, 12),
    ylim_high=(20, 25),
    **kwargs,
):
    """
    Строит график с разрывом оси.
    Валидирует входные данные и инкапсулирует логику отрисовки.
    """
    if len(labels) != len(values):
        raise ValueError("Длины labels и values не совпадают")

    fig, (ax_high, ax_low) = plt.subplots(
        nrows=2, figsize=(7, 4), gridspec_kw={"height_ratios": [1, 2]}
    )

    # Настройки столбцов
    kwargs.setdefault("color", "skyblue")
    kwargs.setdefault("edgecolor", "black")
    kwargs.setdefault("alpha", 0.85)

    ax_low.bar(labels, values, **kwargs)
    ax_high.bar(labels, values, **kwargs)
    fig.subplots_adjust(hspace=0.0)

    # Настройка осей
    ax_low.set_ylim(*ylim_low)
    ax_high.set_ylim(*ylim_high)
    ax_high.set_title("График с разрывом")
    ax_low.set_ylabel("Рейтинг в %")
    ax_low.set_xlabel("Языки")
    ax_high.spines["bottom"].set_visible(False)
    ax_low.spines["top"].set_visible(False)
    ax_high.tick_params(axis="x", bottom=False, labelbottom=False)
    # Рисуем разрыв оси (волна)
    offset, n_points = 0.03, 33
    pts = np.linspace(-offset, 1 + offset, n_points)
    wave = np.array([1 + (0, offset, 0, -offset)[i % 4] for i in range(n_points)])
    path = Path(list(zip(pts, wave)), [Path.MOVETO] + [Path.CURVE3] * (n_points - 1))

    opts = dict(transform=ax_low.transAxes, clip_on=False, zorder=10)
    ax_low.add_patch(mpatches.PathPatch(path, lw=6, **opts))
    ax_low.add_patch(mpatches.PathPatch(path, lw=3, edgecolor="white", **opts))
    return fig


if __name__ == "__main__":
    langs = ["Python", "C", "C++", "Asm"]
    pops = (21.8, 11.1, 8.6, 1.1)

    # Стиль xkcd
    with plt.xkcd(scale=1, length=300, randomness=30):
        plt.rcParams["font.family"] = "Comic Sans MS"

        # Вызов функции
        fig = plot_broken_axis(langs, pops)
        plt.show()

Литература:

  • Документация Matplotlib. 🔗 Ссылка на гайд

  • Bernd Klein. Numerisches Python Arbeiten mit NumPy, Matplotlib und Pandas

  • Sandro Tosi. Matplotlib for Python Developers

Теги:
+7
Комментарии0

5 человек, 1 300 дашбордов, 2 200 пользователей в месяц. Как не сойти с ума

В Уралсибе self-service BI вышел на масштаб, который сложно представить: 12 000 датасетов, 200+ разработчиков в разных бизнес-блоках, 1 000 потоков данных обновляются каждый день. И всё это поддерживает команда из пяти человек.


При таком масштабе неизбежно появляются дубли, забытые дашборды, сломанные компоненты, разработчики, которые не знают о существовании друг друга, и пользователи, которые всё ещё спрашивают «а зачем BI, если есть Excel?».

Как с этим справляться? Семён Юников расскажет про систему, которую они выстроили: автоматические рассылки разработчикам с рекомендациями по их же объектам, кастомный каталог дашбордов с ИИ-поиском, геймифицированный марафон на 80 разработчиков, после которого количество сломанных компонентов сократилось вдвое. И да, заставки на корпоративных ноутбуках с надписью «Ты ещё в Excel? Переходи в FineBI» тоже часть стратегии.

📅 22 апреля | 15:00 МСК

Бесплатно, онлайн ~3 часа

→ Регистрация

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

В Японии представили спортивную визуальную систему Fencing Visualized, которая в с помощью ИИ в режиме реального времени отслеживает движение шпаг и спортсменов на дуэлях, рисуя их цветные шлейфы. Технология работает через компьютерное зрение без датчиков и маркеров. Дополнительно система распознаёт приёмы фехтовальщиков и показывает их на экране.

Теги:
Всего голосов 5: ↑5 и ↓0+5
Комментарии1

Встраивание вычислений в PostgreSQL: PL*, extensions, а теперь и WASM

В рамках выступления на PG BootCamp Russia 2026 Дмитрий Дорофеев, главный конструктор Luxms, рассказал о том, как сегодня развивается встраивание вычислений в PostgreSQL: от классических процедурных языков (PL/pgSQL, PL/Python и других) до новых возможностей с использованием WebAssembly (WASM).

В PostgreSQL исторически поддерживается несколько десятков языков программирования. Если этого недостаточно, можно воспользоваться готовым расширением из огромной экосистемы либо написать своё. Прогресс не стоит на месте, и теперь для выполнения стороннего кода в PostgreSQL можно использовать WASM. 

На примере Luxms BI я расскажу, как мы автоматически генерируем Swagger-документацию прямо внутри PostgreSQL с помощью open-source технологий и WASM.

Посмотреть видео выступления можно на нашем сайте.

Теги:
Рейтинг0
Комментарии0

Вебинар «BI + ETL + КХД за 1,5 млн: как Modus закрывает весь стек корпоративной аналитики»

21 апреля в 12 по МСК приглашаем на вебинар, на котором эксперты ИТ-интегратора «Белый код» расскажут, как малому и среднему бизнесу внедрить BI-систему за 1,5 миллиона рублей.

Одна из задач, с которой к интегратору приходит малый и средний бизнес, — внедрение BI в рамках ограниченного бюджета. При этом есть жесткие требования, например, единая экосистема BI + ETL, без «зоопарка» инструментов, а также нативная работа с 1С как основным источником данных. 

На вебинаре специалисты поделятся практикой внедрения в сегменте МСБ, а также ответят на вопросы. 

Вы узнаете:

  • Почему BI сам по себе не решает проблему разночтений в данных

  • Какие организационные изменения нужны, чтобы аналитика начала работать

  • Modus ETL: как устроена загрузка и обработка данных

  • Modus BI: аналитический портал без лишней сложности

  • Структура проекта за 1,5 млн рублей: стоимость лицензий, этапы проекта и результат

Спикеры вебинара

  • Андрей Рыжик, product owner BI-направления компании «Белый код»

  • Наталья Лобанова, коммерческий директор компании «Белый код»

📌Дата и время: 21 апреля 12:00 МСК (онлайн)

Участие бесплатное, требуется предварительная регистрация.

Принять участие

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Ближайшие события

Данные есть – чуда нет...

Приходите на онлайн-конференцию GlowByte и FanRuan разбираться, куда делось чудо

Дашборды построены, хранилища заполнены, лицензии куплены, а решения по-прежнему принимаются «на ощущениях». Это не ваша уникальная проблема – это системный разрыв между потенциалом BI и его реальным применением.

22 апреля в 15:00 (МСК) приглашаем вас на Fine Day Online 2026 – ежегодную онлайн-конференцию от GlowByte и FanRuan, где мы разберем, как этот разрыв закрыть.

Что в программе:

●     От данных к ИИ-инсайтам – как превращать сырые данные в умные решения, а не просто красивые графики (Вилл Ченг, ведущий эксперт по отраслевым решениям, руководитель направлений пресейл и внедрение CIS, FanRuan);

●     Интеграция FanRuan + DataHub – реальный опыт построения связной экосистемы данных (Дмитрий Конюхов, ведущий инженер отдела управления данными, “Галамарт”);

●     1 500 дашбордов для 2 500 пользователей – как сделать BI удобным и востребованным в масштабе (Семён Юников, главный эксперт Дирекции BI, Уралсиб);

●     Shadow DWH – тёмная сторона self-service аналитики и как с ней справляться (Пётр Гордиенко, Lead BI, ОТП);

●     Миграция FineBI с 6.0 на 7.0 – практический опыт и подводные камни (Евгений Иванов, DevOps BI-платформы, ОТП).

Для кого:

Руководители и специалисты в области BI, Data & Analytics, CDO, продуктовые и бизнес-аналитики – все, кто хочет, чтобы данные наконец работали на результат.

Формат:

Онлайн, бесплатно, ~3 часа концентрированной пользы. Нужна только регистрация

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Группировка в сводной таблице

Часто возникает задача сгруппировать исторические данные по неделям, месяцам, кварталам или годам. Иногда для решения этой задачи создают дополнительный столбец (например, Месяц) и строят по нему сводную таблицу.

Есть более простой способ сгруппировать данные, но его нет в настройках сводной таблицы, поэтому многие пользователи даже не догадываются о нём:

1️⃣ Построить сводную таблицу по столбцу с датами.

2️⃣ Нажать на любую дату и выбрать в контекстом меню желаемый тип группировки.

➡️ Поиграться: https://docs.google.com/spreadsheets/d/1tNG4K8IwSuAa8cenJDm0b7IXvkHfRo7uF86sHIvtGKo/copy

Теги:
Рейтинг0
Комментарии0

Функции сортировки

Функция SORT (СОРТ) позволяет упорядочить исходную таблицу и вставить результат в другое место. По умолчанию таблица сортируется по первому столбцу в порядке возрастания:

  • Sheets: =SORT(A:C)

  • Excel: =СОРТ(A:C)

Для сортировки по другому столбцу можно передать его номер и направление сортировки: по возрастанию или по убыванию. В Google Sheets это TRUE и FALSE, в Excel — 1 и -1. Следующая формула сортирует таблицу по второму столбцу в порядке убывания:

  • Sheets: =SORT(A:C;2;FALSE)

  • Excel: =СОРТ(A:C;2;-1)

Недостаток такого подхода: при добавлении/удалении столбцов формула может сломаться, придётся вручную обновлять номер столбца. Поэтому гораздо удобнее передавать не номер, а сам столбец для сортировки. В Google Sheets для этого используется та же функция SORT, в Excel — отдельная функция СОРТПО:

  • Sheets: =SORT(A:C;B:B;FALSE)

  • Excel: =СОРТПО(A:C;B:B;-1)

Можно задавать несколько столбцов сортировки. Следующая формула сортирует таблицу по второму столбцу в порядке убывания, одинаковые значения сортируются по третьему столбцу в порядке возрастания:

  • Sheets: =SORT(A:C;B:B;FALSE;C:C;TRUE)

  • Excel: =СОРТПО(A:C;B:B;-1;C:C;1)

Наконец, лайфхак, про который не рассказывают в документации. Если нужно упорядочить данные по разнице столбцов B и C (пример: доходы минус расходы или цена минус себестоимость), то можно использовать формулу массива. В Google Sheets понадобится ARRAYFORMULA или MAP, в Excel всё работает и без них:

  • Sheets: =SORT(A:C;ARRAYFORMULA(B:B-C:C);TRUE)

  • Excel: =СОРТПО(A:C;B:B-C:C;1)

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии1

Телефонный номер

Если попытаться ввести в ячейку электронной таблицы номер телефона, внезапно пропадёт плюс:

+7987654321079876543210

А при попытке вбить форматированный номер телефона и вовсе выскочит ошибка:

+7 987 654-32-10#ERROR

Дело в том, что значения с плюсом в начале распознаются как формулы. Как же тогда ввести телефонный номер в ячейку? Достаточно добавить в начале апостроф. Тогда электронная таблица не будет пытаться распознать формулу и просто воспримет значение как текст:

'+79876543210+79876543210

'+7 987 654-32-10+7 987 654-32-10

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

Теги:
Всего голосов 2: ↑2 и ↓0+3
Комментарии7

Успейте подать свою работу на конкурс BI-дашбордов Data Challenge

Партнер GlowByte компания FanRuan продолжает принимать заявки на первый открытый конкурс BI-дашбордов и визуальной аналитики FineGallery Insight Challenge. Срок подачи - до 31 марта.

Подробнее рассказывали о конкурсе в новости

FineGallery Insight Challenge – это конкурс для аналитиков, BI-разработчиков и команд, которые работают с данными и создают дашборды.

Цель конкурса – показать, насколько мощной и красивой может быть визуальная аналитика, и дать пользователям пространство для обмена идеями, диагностиками, методами анализа и вдохновляющими примерами решений визуализации.

Как участвовать

1. Создайте аналитическую работу в FineBI или FineReport.

2. Заполните форму подачи, включив:

  • дашборд,

  • описание работы по структуре (описана на сайте конкурса),

  • информацию об авторе.

3. Дождитесь подтверждения участия и ждите результатов.

Призовой фонд

  • Лучшая бизнес-аналитика – 100 000 руб.

  • Лучший UX (пользовательский опыт) и визуальный дизайн – 70 000 руб.

  • Приз зрительских симпатий – 30000 руб.

Все подробности, включая сроки и требования к конкурсным работам – на сайте конкурса.

Теги:
Всего голосов 2: ↑2 и ↓0+4
Комментарии0

Проверка по словарю

Для работы с данными, будь то группировка или условная агрегация, важно, чтобы значения записывались однообразно. Как быть, если нужно сгруппировать сотрудников по отделам, а в соответствующем столбце намешаны «Продажи», «Отдел продаж», и «Sales»? В таких случаях необходимо настроить проверку вводимых значений по словарю.

1️⃣ Для хранения словаря рекомендуется создать таблицу «Отделы». Во-первых, её будет просто дополнять и редактировать. Во-вторых, таблицу можно использовать для хранения метаданных. Например, добавить информацию о руководителе отдела или о расположении в офисе.

2️⃣ Когда словарь готов, можно вернуться в таблицу «Сотрудники», открыть меню столбца «Отдел» и поменять тип на «Раскрывающийся список». Далее в поле «Критерии» указать «Раскрывающийся список (из диапазона)» и ввести табличную ссылку:

=Отделы[Название]

3️⃣ После включения проверки некорректные значения помечаются красным уголком.
Искать их глазами утомительно, поэтому проще временно скрыть корректные значения. Для этого можно зайти в меню столбца, выбрать «Столбец для фильтра», «Фильтровать по условию», «Данные не проверены». Таким образом в таблице останутся только некорректные записи, которые легко исправить. И не забыть сбросить фильтр.

➡️ Поиграться на примере

Теги:
Рейтинг0
Комментарии0

GitHub визуализировали в цифровой город в проекте gitcity. В рамках проекта представлен сайт, на котором можно летать по «городу», где каждое здание это аккаунт разработчиков. Высота небоскребов = количеству коммитов. Летая по городу, можно искать интересные и популярные аккаунты, либо находить что-то новое и недооцененное.

Теги:
Всего голосов 5: ↑5 и ↓0+7
Комментарии1