Самый простой формат для создания графика для YED

В настоящее время я пытаюсь сбросить график в Java для YEd. Я пытался использовать GraphML для формата, но я нашел его очень громоздким. В частности, размер узлов не изменится под размер метки, поэтому большую часть времени метка будет больше, чем фактический файл.

Есть ли что-нибудь, что я могу сделать, чтобы исправить это, не входя и не указывая ширину и высоту каждого узла?

Спасибо

1 ответ

Решение

Есть способ, хотя этот способ использует неофициальный API и может не работать ни в одном выпуске, кроме текущего (3.9.2 на момент написания).

В GraphML добавьте следующий ключ на уровне графика:

  <g:key id="ppkey" for="graph" yfiles.type="postprocessors"/>
  <g:graph id="G" edgedefault="directed">
    <g:data key="ppkey">
      <y:Postprocessors>
        <y:Processor class="A.A.A.A.A">
          <y:Option name="IGNORE_WIDTHS" value="false"/>
          <y:Option name="IGNORE_HEIGHTS" value="true"/>
          <y:Option name="ADAPT_TO_MAXIMUM_NODE" value="false"/>
        </y:Processor>
      </y:Postprocessors>
    </g:data>
  </g:graph>

Как вы можете видеть, "AAAAA", очевидно, является запутанным именем класса, которое может меняться между сборками и нарушать ваш скрипт.

Причина этого неудобства на самом деле довольно проста: yEd не предполагается использовать в автоматическом режиме (лицензия даже явно запрещает чисто автоматический вариант использования) и поэтому оптимизирована для интерактивного использования. Таким образом, нажатие на кнопку на самом деле предназначено. Зачем? Потому что yEd - это бесплатный продукт, основанный на мощной коммерческой библиотеке, и он бесплатен только потому, что опытные пользователи покупают лицензию на библиотеку и таким образом способствуют развитию и поддержке yEd. Если вам действительно нужно программно использовать эту мощь, вам следует взглянуть на лицензирование библиотеки напрямую.

Тем не менее, вы также можете попробовать импортировать Excel - он автоматически выполнит этот шаг за вас, однако вам нужно будет создать файл Excel, чтобы начать с.

Другие вопросы по тегам