14

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

Cue ASCII art ...

                Event in March
              / 
2008         /                                                    2009
/...../...../...../...../...../...../...../...../...../...../...../

Я хотел бы что-то вроде этого (немного лучше ;-D), где я могу объявить время начала и окончания. Я бы предпочел работать в декларациях периодов времени / событий, а не рисовать их сам. Диаграмма будет включена в отчет LaTeX, так что мне нужен именно такой стиль, пакет для LaTeX, который делает это, был бы идеальным. Тем не менее, я хотел бы получить предложения по инструментам, которые позволяют легко рисовать подобные вещи вручную.

Есть ли программа, которую я могу использовать на Linux, которая отвечает всем требованиям?

РЕДАКТИРОВАТЬ: Я не знаю, что сообщество думает о дубликатах на сайтах суперпользователя /StackOverflow (этот ответ не найден для ответа уже существовал на StackOverflow), но у меня нет представителя, чтобы закрыть свой вопрос ...

10 ответов10

5

Бесплатный GanttProject (Java) может создавать красивые временные рамки.

альтернативный текст

4

Dia - это программа для создания диаграмм в Linux, на практике она похожа на Visio.

Dia примерно вдохновлен коммерческой программой Windows Visio, хотя больше ориентирован на неформальные диаграммы для случайного использования. Он может быть использован для рисования различных диаграмм. В настоящее время у него есть специальные объекты, помогающие рисовать диаграммы отношений сущностей, диаграммы UML, блок-схемы, сетевые диаграммы и многие другие диаграммы. Также можно добавить поддержку новых фигур, написав простые XML-файлы, используя подмножество SVG для рисования формы.

4

Если вы хотите сэкономить всю работу по программированию, есть веб-сайт Dipity.com, с которым вы можете создавать временные рамки.

Или, если вам нравится программировать и немного знать XML и Javascript, есть проект SIMILE от MIT, в котором есть аккуратный проект на основе браузера Javascript под названием Timeline, который позволяет вам использовать простой формат XML в качестве входных данных для отображения временной шкалы.

Вы сказали, что «предпочли бы работать в декларациях периодов времени / событий, а не рисовать их сами », и SIMILE Timeline кажется хорошим способом сделать это.

(Вам даже не нужно рисовать, просто введите данные).

Оба из них работают на Linux/Windows/Mac, что вы хотите.

1

Более новые версии Gnuplot способны обрабатывать шкалы времени, а также могут создавать аннотации. Первоначально это научная программа для построения графиков, которая может генерировать выходные данные во многих форматах, включая .png и .eps, так что вы можете легко встроить результаты в LaTeX (у него есть выделенный вывод LaTeX, с которым я не знаком). В нем есть хорошая и качественная документация, множество настроек, и вы можете выполнять скрипты в пакетном режиме. Вы даже можете создать скрипт gnuplot с помощью символа sheabang (#!) синтаксис.

1

OpenOffice может сделать приличный график. Создайте таблицу высотой 8 строк и количество элементов, которые у вас есть, плюс 3 столбца в ширину - поэтому, если бы у вас было 17 элементов для размещения на временной шкале, вы бы сделали таблицу с 8 строками высотой и 20 столбцами. Установите все границы ячейки в none. Объедините два верхних и два верхних нижних ряда ячеек, по четыре за раз. Объедините два средних ряда по две ячейки за раз. Вы можете использовать кнопку рисования границ ячеек, чтобы нарисовать линии для отдельных ячеек. Это все намного проще, чем картина, а не пытаться объяснить:

альтернативный текст

Ваши даты или время указаны в двух ячейках посередине, а все, что вам нравится, - в четырех ячейках сверху и снизу. Я знаю, что это не LaTeX, хотя я уверен, что вы можете заставить LaTeX расположить таблицу аналогичным образом. Конечно, вы можете экспортировать диаграмму как изображение из OpenOffice для включения в ваш документ LaTeX.

1

В LaTeX вы можете попробовать пакет tikz. Вот пример кода:

\begin{figure*}[htbp]
    \caption{some caption}
    \begin{tikzpicture}
        \draw (0cm, 0cm) -- (15cm, 0cm);
        \foreach \x in {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15} \draw (\x cm, 3pt) -- (\x cm, - 3pt);
        \draw (0cm - 3pt, 0cm + 3pt) -- (0cm, 0cm) -- (0cm + 3pt, 0cm + 3pt);
        \draw (0cm, 0cm) node[above=5pt] {0};
        \draw (5cm, 0cm) node[above=5pt] {100};
        \draw (10cm, 0cm) node[above=5pt] {200};
        \draw (15cm, 0cm) node[above=5pt] {300};
        \fill (12cm, 0cm) circle (2pt);\draw (12cm, 0cm) node[above=5pt] {some text};
    \end{tikzpicture}
\end{figure*}

Это создает хороший горизонтальный график.

1

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

1

Этот пример расписания в PGF/TikZ выглядит так, как вам нравится? PGF/TikZ - это библиотека LaTeX, поэтому вы можете свернуть свою собственную, если вы хорошо владеете LaTeX - см., Например, этот пост, чтобы узнать о начале модуля диаграммы Ганта.

0

Вы можете использовать Creately или Creately Desktop для рисования диаграмм Ганта или временных шкал.

Гораздо меньше времени тратить на это, так как сроки и сроки могут быть просто введены и единица времени может быть настроена. Затем просто нарисуйте столбцы или линии.

Можно экспортировать как вектор для размещения в LaTex.

Временная диаграмма Creately

0

Однажды я написал скрипт gnuplot для построения частот FM-радиостанций вдоль оси от 87 МГц до 108 МГц, используя названия каждой радиостанции в качестве вертикальных меток. Ваш рисунок ascii выглядит очень похоже на мой результат. Вы можете взглянуть на сценарий.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .