Few days ago, I discovered a very interesting library called DRAWILLE, which draws 2-D canvas in terminal using Braille, a tactile writing system for the blind people.

It might sound very odd when you put a plotting library and the characters together, but the results really amazed me. You could see from the README which I contributed a couple of animated GIFs and made a video for it to introduce to my channel subscribers.

http://imgs.xkcd.com/comics/phone_alarm.png

original xkcd: Phone Alarm image

Few hours after my contributions, I bet no one had seen the xkcd coming, but someone got the great idea and created an example code for the library. But we should know better, this isn’t the first time that xkcd-style something with serious stuff, for instance, Matplotlib.

The following was the result for the latest xkcd comic #1359, xkcd: Phone Alarm:

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbdFwmYWbwWMZweHOPDBkyKRgcKkuNG4rELCIGj-vnojwJcXZMPSz49lvD2tsGumxqu1zC9UFvB4wQm0aoWjyRD-julrgxoR5zdx4LHMotkGmuCWadvDwTXp-KqgwL_oMMxPSnmGENbm8/s640/xkcd%2520Phone%2520Alarm%2520%2523359%2520using%2520DRAWILLE%25202014-04-24--23%253A58%253A28.png

xkcd: Phone Alarm in Braille, examples/xkcd.py

DRAWILLE was really created for plotting, just take a look at the following image that I made, but it also proves that you could have fun at any time with any tool you like.

https://cdn.rawgit.com/asciimoo/drawille/master/docs/images/sine_tracking.gif

examples/sine_tracking.py

It’s created by Adam Tauber under the GNU Affero General Public License Version 3, an example code for a quick peek:

from __future__ import print_function
from drawille import Canvas
from math import sin, radians

c = Canvas()

for x in range(0, 1800, 10):
    c.set(x / 10, 10 + sin(radians(x)) * 10)

print(c.frame())
https://cdn.rawgit.com/asciimoo/drawille/master/docs/images/usage.png