emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: "Eric Schulte" <schulte.eric@gmail.com>
To: Erik Butz <erik.butz@googlemail.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: org-babel python/shell or gantt charts with gnuplot from within org-mode
Date: Tue, 13 Apr 2010 12:51:10 -0600	[thread overview]
Message-ID: <871veji3sk.fsf@gmail.com> (raw)
In-Reply-To: <h2hb230c52b1004131102m97d3e0abla016aed7f4b99c4@mail.gmail.com> (Erik Butz's message of "Tue, 13 Apr 2010 20:02:28 +0200")

Erik Butz <erik.butz@googlemail.com> writes:

> Hi all,
>
> I have been playing around with org-mode and have been thinking about
> the possibility to create gantt charts with org-mode. I did not find
> anything in the archives, and todays thread about taskjuggler brought
> me back to the subject.
>
> This is a python script hovering around the web (gantt.py) which
> enables gant charts with gnuplot. I played around with this a bit so
> as to have it accept ISO timestamps (%Y-%m-%dT%H:%M:%S) and or
> durations. Now I am looking for a way to execute this from within
> org-mode probably using org-babel
>
> The (bash) syntax would be something like
>
> python gantt.py -t "Title" -i input.txt | gnuplot -persist
>
> I would like to pass an org table to the script instead of the input
> file so the equivalent of doing
>
> cat input | python gantt.py -t "Title" | gnuplot -persist
>
> The input structure is (e.g.)
>
> Task 1	2010-4-2T12:00:00	1	validate
> Task 2	2010-4-5T12:00:00	5.25	  something
> Task 3	2010-4-5T12:00:00	2010-4-10T0:00:00	otherthing
> Task 4	5.5			yet another thing
> which could well be the column mode representation of a file probably.
>

something like the following in will allow you to pass a table to a
series of shell commands

  #+tblname: tasks
  | Task 1 | 2010-4-2T12:00:00 |                 1 | validate   |
  | Task 2 | 2010-4-5T12:00:00 |              5.25 | something  |
  | Task 3 | 2010-4-5T12:00:00 | 2010-4-10T0:00:00 | otherthing |

  #+begin_src sh :var tasks=tasks
    echo "$tasks" |wc
  #+end_src

  #+results:
  : 3      15     130

you can also use a gnuplot block to accept the output of gantt.py, and
once everything is working it can be packaged up into a library of babel
[1] function which could then be called with a short line like.

#+call: gantt(tasks=my-task-table)

Hope that helps, let me know if you have any more questions. -- Eric

>
> I am sorry should this be a bit vague.
>
> Please let me know if I can provide any more information to clarify the problem
>
> Cheers and thanks,
>
> Erik
>
>
> _______________________________________________
> Emacs-orgmode mailing list
> Please use `Reply All' to send replies to the list.
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode

Footnotes: 
[1]  http://orgmode.org/worg/org-contrib/babel/library-of-babel.php

  reply	other threads:[~2010-04-13 18:52 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-13 18:02 org-babel python/shell or gantt charts with gnuplot from within org-mode Erik Butz
2010-04-13 18:51 ` Eric Schulte [this message]
2010-04-13 23:42   ` Erik Butz
2010-04-14  0:24     ` Dan Davison
2010-04-14  8:02       ` Detlef Steuer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=871veji3sk.fsf@gmail.com \
    --to=schulte.eric@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=erik.butz@googlemail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).