Простое отображение динамических графиков для C++

StackOverflow https://stackoverflow.com/questions/464000

  •  19-08-2019
  •  | 
  •  

Вопрос

Я ищу простую библиотеку макетов графиков для C++.Хочу встроить библиотеку в наш визуализатор на базе wxWidgets.Короче говоря, я ищу что-то вроде графвиз, за исключением динамического — то есть при возникновении события необходимо загружать только изменение графика, а не полное отображение.Есть динаграф, но это похоже мертвый проект.Раньше мне предлагали использовать ВТК - но это тяжеловес.

Я ищу библиотеку с открытым исходным кодом, без авторского лева, доступную для коммерческого использования (GPL отсутствует, LGPL вполне подойдет).Я открыт для предложений, которые Google не дает.

Это было полезно?

Решение

Макет, который генерирует Graphviz, основан на глобальной структуре — любое отдельное добавление может существенно изменить выходные данные (если только вы не используете фиксированные координаты, в этом случае вы, вероятно, не зададите этот вопрос).По сути, если вы хотите автоматическое размещение элементов, вам нужно принять одно из этих решений:

  • При размещении нового элемента в реальном времени запускается физическое моделирование, заставляющее узлы дико подпрыгивать, пока они не займут свои новые места.Это будет медленно, но покажет «приятные» изменения.
  • При размещении нового элемента весь график перерисовывается (физика/что-то еще скрыто, но все изменяется).Это будет быстрее, поскольку не придется перерисовывать, но взаимное расположение узлов может быть совершенно другим.
  • При размещении нового элемента существующие элементы не изменяются.После достаточного количества динамических обновлений ваш график будет выглядеть дерьмово, потому что автоматическое размещение — это глобальная проблема оптимизации.

Извините, я не могу помочь с вашим вопросом, но, возможно, это поможет объяснить, почему то, что вы ищете, может просто не существовать (или быть полезным).

Другие советы

Чтобы преодолеть некоторые проблемы при использовании графвиза (описанного Томом).Мы устанавливаем мировые координаты визуализатора так, чтобы они совпадали с мировыми координатами графвиза.

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

--

Майкл

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top