emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Timothy <tecosaur@gmail.com>
To: "emacs-orgmode@gnu.org" <emacs-orgmode@gnu.org>
Subject: (Feature to Potentially Upstream) extending org-plot.el
Date: Mon, 18 May 2020 15:23:22 +0800	[thread overview]
Message-ID: <18E1FA44-710B-4340-8660-EBF7E0DB82D9@getmailspring.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 2276 bytes --]

Good news! This is the last of my "things I want to contact the mailing list about" backlog 😛

So, I recently wanted to be able to create a radar chart in org, using #+PLOT without a 500 character #+PLOT line.
I started with advice-override, but quickly realised it would be better just to switch out org-plot.el with a modified version, which can be found here: https://github.com/tecosaur/emacs-config/blob/master/lisp/org-plot.el

As this currently stands, with the below table and plot line I can produce this plot https://media.githubusercontent.com/media/tecosaur/emacs-config/master/misc/document-format-comparison.png. (https://media.githubusercontent.com/media/tecosaur/emacs-config/master/misc/document-format-comparison.png)
#+PLOT: transpose:yes type:radar min:0 max:4 file:"misc/document-format-comparison.png"
| Format | Fine-grained-control | Initial Effort | Syntax simplicity | Editor Support | Integrations | Ease-of-referencing | Versatility |
|-------------------+----------------------+----------------+-------------------+----------------+--------------+---------------------+-------------|
| Word | 2 | 4 | 4 | 2 | 3 | 2 | 2 |
| LaTeX | 4 | 1 | 1 | 3 | 2 | 4 | 3 |
| Org Mode | 4 | 2 | 3.5 | 1 | 4 | 4 | 4 |
| Markdown | 1 | 3 | 3 | 4 | 3 | 3 | 1 |
| Markdown + Pandoc | 2.5 | 2.5 | 2.5 | 3 | 3 | 3 | 2 |
The colours are a doom-specific bit, because I draw them from the current doom theme. I figure this could just be replaced with a general purpose entry point into the plot generation script where the user can add a 'custom preamble' function.

I'm also interested in refactoring the type:XXX bit so that it's more general, less hardcoded. I don't know what may be involved, but I'm thinking something similar to org export when you can define a new export function could be nice (hough I imagine that example is far more complicated than this would be).
I'm hoping that someone may be interested enough to provide feedback, and idealy help me extend org-plot in this manner, with the goal of having this functionality upstreamed (assuming interest in doing so).
Please let me know!

All the best,
tecosaur
(p.s. as mentioned in my first email, I am going to try getting dragged down this rabbit-hole again till late june)

[-- Attachment #2: Type: text/html, Size: 6160 bytes --]

             reply	other threads:[~2020-05-19 12:19 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-18  7:23 Timothy [this message]
2020-05-19 19:32 ` (Feature to Potentially Upstream) extending org-plot.el tbanelwebmin

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=18E1FA44-710B-4340-8660-EBF7E0DB82D9@getmailspring.com \
    --to=tecosaur@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    /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).