From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Brand Subject: Re: text-only plots Date: Sun, 8 Dec 2013 12:27:21 +0100 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=089e0158c488ae84ec04ed042999 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:35241) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VpcWC-0005OV-UM for emacs-orgmode@gnu.org; Sun, 08 Dec 2013 06:27:26 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VpcWB-0002in-Va for emacs-orgmode@gnu.org; Sun, 08 Dec 2013 06:27:24 -0500 Received: from mail-lb0-x232.google.com ([2a00:1450:4010:c04::232]:62794) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VpcWB-0002hR-Dr for emacs-orgmode@gnu.org; Sun, 08 Dec 2013 06:27:23 -0500 Received: by mail-lb0-f178.google.com with SMTP id c11so911991lbj.23 for ; Sun, 08 Dec 2013 03:27:21 -0800 (PST) In-Reply-To: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Thierry Banel Cc: Org Mode --089e0158c488ae84ec04ed042999 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi Thierry On Sat, Dec 7, 2013 at 8:48 PM, Thierry Banel wrote: > What about text-only plots in tables ? > All in Emacs, without any external package. > > | x | x^2 | | > |----+-----+--------------| > | 0 | 0 | | > | 1 | 1 | . | > | 2 | 4 | : | > | 3 | 9 | u | > | 4 | 16 | W | > | 5 | 25 | Wu | > | 6 | 36 | WW: | > | 7 | 49 | WWH | > | 8 | 64 | WWWV | > | 9 | 81 | WWWWH | > | 10 | 100 | WWWWWW | > | 11 | 121 | WWWWWWW- | > | 12 | 144 | WWWWWWWWl | > | 13 | 169 | WWWWWWWWWW. | > | 14 | 196 | WWWWWWWWWWWV | > #+TBLFM: $3=3D'(orgtbl-ascii-draw $2 0 200) > > I wrote a package to draw such small-quick-and-text-only graphs. > It is here: http://orgmode.org/worg/org-contrib/orgtbl-ascii-plot.html > Just type C-c p > > Comments and enhancements are welcome! > Have fun. Your idea is very good. I suggest to have also a unicode variant using http://en.wikipedia.org/wiki/Block_Elements with (elt " =E2=96=8F=E2=96=8E=E2=96=8D=E2=96=8C=E2=96=8B=E2=96=8A=E2=96=89= " [...]) to divide one char into eight widths which I will use often for time series: | year | % | ascii | unicode | |------+----+----------+----------| | 2009 | 55 | WWWWWWl | =E2=96=89=E2=96=89=E2=96=89=E2=96=89=E2=96=89=E2= =96=89=E2=96=8C | | 2010 | 54 | WWWWWWu | =E2=96=89=E2=96=89=E2=96=89=E2=96=89=E2=96=89=E2= =96=89=E2=96=8D | | 2011 | 60 | WWWWWWW: | =E2=96=89=E2=96=89=E2=96=89=E2=96=89=E2=96=89=E2= =96=89=E2=96=89=E2=96=8F | | 2012 | 62 | WWWWWWW; | =E2=96=89=E2=96=89=E2=96=89=E2=96=89=E2=96=89=E2= =96=89=E2=96=89=E2=96=8D | #+TBLFM: $3 =3D '(orgtbl-ascii-draw $2 0 100) :: $4 =3D '(orgtbl-uc-draw $2= 0 100) Attached is a screenshot with DejaVu Sans Mono as an example of a font that shows the same block height for all block widths (some other fonts don't show the same block height for all block widths). Remember "C-u C-x =3D" too see the name etc. of the char at point. Michael --089e0158c488ae84ec04ed042999 Content-Type: image/png; name="unicode.png" Content-Disposition: attachment; filename="unicode.png" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hoy7ct760 iVBORw0KGgoAAAANSUhEUgAAASYAAABxCAYAAAB4OA4hAAAKsmlDQ1BJQ0MgUHJvZmlsZQAASA2t lndUU0kbxufe9EZLCB1C70gRCCC9BlQ6CKISkkBoMQSCgA2RxRWwoSIC6oouiCi4KkXWgohiWwRU wLogi4q6LhawoLI34SPuOd+3/31zzsz88s6T9955Z+45DwDkarZQmAYrAJAuyBKF+XsxlsTEMnCP ABaoAAJwBk5sTqbQMyRkIfjXNjUAIMnibUtJrn+V/e8FRS4vkwMAFIIsJ3AzOekIn0Z6AUcoygIA xUTiBquyhBKOQ5gmQl4QYaGEk2a5UMIJs1wh1USEeSOaYwDgyWy2KAkAUhsSZ2RzkpA8pCGErQXc ZAEAZDzCbhw+m4twAMIW6ekrJYzogEnCP/Ik/YPZ7ARZTjY7Scaze0H+iTzYJzlTmMbOlf74fw7p aWKkXtKmjYzkzNTwIGQmIjXL4bB9w+eYz2NJzkwaF2Z5hc1xchYrYo754oDIORanRnrOcerKIJle kLA4eC7OyfRGaj+bM48fET3HXJ6P7xyLVobJ9JnZ4bJ4Ht978ZwmhR0oOW/pu7FFCP2HeWn+sucK s0Jk7ylIWyzbS6LIT6bhZX7fbxY/QnJ+0pxZogiZJjHZjzUX54sCZHFhmvROS/UicZisDjxBpKyG XLaPrLYgHNgAR2CHjCCLlyO5H8B7pTBXlJzEz2J4IjefZ8FgCThWFgxbaxs7IPmOJBoA3g1Jvw+I jv8eE1cCsICO3NG+77G4JgBO7wNAbdn3mMEWAOSRujV/44hF2bP50JIJg+xUHtCAGtAG+sAEWAJb 4ABcgAfwBYEgGESAGLAccAAfpAMRWAXWgA2gCJSA7WA3qAQHwCFwBBwHJ0ErOAsugivgBugFd8ED MAzGwEswAabANARBOIgCUSE1SAcyhMwhW4gJuUG+0EIoDIqB4qEkSACJoTXQRqgEKoMqoYNQPfQL dAa6CF2D+qB70Ag0Dr2FPsMomAzTYC3YCJ4HM2FPOAiOgJfBSXAGnAcXwlvhCrgGPga3wBfhG/Bd eBh+CU+iAIqEoqN0UZYoJsobFYyKRSWiRKh1qGJUOaoG1YhqR3WjbqOGUa9Qn9BYNBXNQFuiXdAB 6Eg0B52BXocuRVeij6Bb0F3o2+gR9AT6G4aC0cSYY5wxLMwSTBJmFaYIU46pxTRjLmPuYsYwU1gs lo41xjpiA7Ax2BTsamwpdh+2CduB7cOOYidxOJwazhznigvGsXFZuCLcXtwx3AVcP24M9xFPwuvg bfF++Fi8AF+AL8cfxZ/H9+Of4acJCgRDgjMhmMAl5BK2EQ4T2gm3CGOEaaIi0ZjoSowgphA3ECuI jcTLxIfEdyQSSY/kRAolJZPySRWkE6SrpBHSJ7IS2YzsTY4ji8lbyXXkDvI98jsKhWJE8aDEUrIo Wyn1lEuUx5SPclQ5KzmWHFduvVyVXItcv9xreYK8obyn/HL5PPly+VPyt+RfKRAUjBS8FdgK6xSq FM4oDCpMKlIVbRSDFdMVSxWPKl5TfK6EUzJS8lXiKhUqHVK6pDRKRVH1qd5UDnUj9TD1MnWMhqUZ 01i0FFoJ7TithzahrKQ8XzlKOUe5Svmc8jAdRTeis+hp9G30k/QB+mcVLRVPFZ7KZpVGlX6VD6oa qh6qPNVi1SbVu6qf1RhqvmqpajvUWtUeqaPVzdRD1Vep71e/rP5Kg6bhosHRKNY4qXFfE9Y00wzT XK15SPOm5qSWtpa/llBrr9YlrVfadG0P7RTtXdrntcd1qDpuOsk6u3Qu6LxgKDM8GWmMCkYXY0JX UzdAV6x7ULdHd1rPWC9Sr0CvSe+RPlGfqZ+ov0u/U3/CQMdgkcEagwaD+4YEQ6Yh33CPYbfhByNj o2ijTUatRs+NVY1ZxnnGDcYPTSgm7iYZJjUmd0yxpkzTVNN9pr1msJm9Gd+syuyWOWzuYJ5svs+8 zwJj4WQhsKixGLQkW3paZls2WI5Y0a0WWhVYtVq9nmcwL3bejnnd875Z21unWR+2fmCjZBNoU2DT bvPW1syWY1tle8eOYudnt96uze7NfPP5vPn75w/ZU+0X2W+y77T/6uDoIHJodBh3NHCMd6x2HGTS mCHMUuZVJ4yTl9N6p7NOn5wdnLOcTzr/5WLpkupy1OX5AuMFvAWHF4y66rmyXQ+6Drsx3OLdfnIb dtd1Z7vXuD/x0PfgetR6PPM09UzxPOb52svaS+TV7PXB29l7rXeHD8rH36fYp8dXyTfSt9L3sZ+e X5Jfg9+Ev73/av+OAExAUMCOgEGWFovDqmdNBDoGrg3sCiIHhQdVBj1ZaLZQtLB9EbwocNHORQ8X Gy4WLG4NBsGs4J3Bj0KMQzJCfg3FhoaEVoU+DbMJWxPWHU4NXxF+NHwqwitiW8SDSJNIcWRnlHxU XFR91Idon+iy6OEl85asXXIjRj0mOaYtFhcbFVsbO7nUd+nupWNx9nFFcQPLjJflLLu2XH152vJz K+RXsFecisfER8cfjf/CDmbXsCcTWAnVCRMcb84ezkuuB3cXd5znyivjPUt0TSxLfJ7kmrQzaZzv zi/nv0r2Tq5MfpMSkHIg5UNqcGpd6kxadFpTOj49Pv2MQEmQKuhaqb0yZ2Wf0FxYJBzOcM7YnTEh ChLVZkKZyzLbsmiIYbkpNhH/IB7Jdsuuyv64KmrVqRzFHEHOzVyz3M25z/L88n5ejV7NWd25RnfN hjUjaz3XHlwHrUtY17lef33h+rF8//wjG4gbUjf8VmBdUFbwfmP0xvZCrcL8wtEf/H9oKJIrEhUN bnLZdOBH9I/JP/Zsttu8d/O3Ym7x9RLrkvKSL6Wc0utbbLZUbJnZmri1Z5vDtv3bsdsF2wd2uO84 UqZYllc2unPRzpZdjF3Fu97vXrH7Wvn88gN7iHvEe4YrFla07TXYu33vl0p+5d0qr6qmas3qzdUf 9nH39e/32N94QOtAyYHPPyX/NHTQ/2BLjVFN+SHsoexDTw9HHe7+mflzfa16bUnt1zpB3fCRsCNd 9Y719Uc1j25rgBvEDePH4o71Hvc53tZo2Xiwid5UcgKcEJ948Uv8LwMng052nmKeajxteLq6mdpc 3AK15LZMtPJbh9ti2vrOBJ7pbHdpb/7V6te6s7pnq84pn9t2nni+8PzMhbwLkx3CjlcXky6Odq7o fHBpyaU7XaFdPZeDLl+94nflUrdn94WrrlfPXnO+duY683rrDYcbLTftbzb/Zv9bc49DT8stx1tt vU697X0L+s73u/dfvO1z+8od1p0bdxff7RuIHBgajBscHuIOPb+Xdu/N/ez70w/yH2IeFj9SeFT+ WPNxze+mvzcNOwyfG/EZufkk/MmDUc7oyz8y//gyVviU8rT8mc6z+ue2z8+O+433vlj6Yuyl8OX0 q6I/Ff+sfm3y+vRfHn/dnFgyMfZG9Gbmbek7tXd17+e/75wMmXw8lT41/aH4o9rHI5+Yn7o/R39+ Nr3qC+5LxVfTr+3fgr49nEmfmRGyRWypF0AhI5yYCMDbOgAoMQBQexELJDfrc6UKaNabIyzx6FKf /t8864WlegcADnUAEJEPQKAHAFVI0AhheYRDkB7hAWA7O1lHViUtM9HOVgoQqRWxJuUzM+8Qb4gz BeDr4MzMdOvMzNdaxOvcB6BjatZfS9TKlwBQ1ZNQF7olXzL/s/0N5AXwx7i0f3AAAAAJcEhZcwAA CxMAAAsTAQCanBgAAAGfaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8eDp4bXBtZXRhIHhtbG5z Ong9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA1LjEuMiI+CiAgIDxyZGY6UkRG IHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+ CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmV4 aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPGV4aWY6UGl4ZWxY RGltZW5zaW9uPjEyODA8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhl bFlEaW1lbnNpb24+MTAyNDwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2Ny aXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgqIXksTAAAgKUlEQVR4Ae1dD1Ab15n/ tSNiqME1cbCvJLVxMK3SWs5gN3YyIRdR13ba4UgdT42P1EPORjMJYbjj7An1RDPUdyQMGaf0PC5t I9KW0lJoJ7hliBNwr6IXMgnOTdRapFZjM8EkUc7GtlpDRsRoZu/blXa1yJKWlbTSSrw3Nvv2fe/P 937f209v3+7+3qc4CmCBIcAQYAjoCIFP60gXpgpDgCHAEBAQYI6JDQSGAENAdwgwx6Q7kzCFGAIM AeaY2BhgCDAEdIcAc0y6MwlTiCHAEGCOiY0BhgBDQHcIMMekO5MwhRgCDAGDEgQ+n08pC5MzBBgC DIGYEDAYwrsgVTMmz5QLE9NzMSmQDoX03j+96zfnccM9PRvR1EryiAWTJEg1vsnCJ1nthJpNDb4q HNMsfllsgrHrz6HtZci5Vv3zYcJhx5B9DO7I1+wiMNRKv0U0vcgs515ch3WFP4InQn4leYRiSUpO Pb7JwufcixVkp59FtJM2gKvDV4VjApaZAXP2LdrorYNatejf2IkqGLfuxLFDZViXXwdHHM5JC/0S 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 --089e0158c488ae84ec04ed042999--