Nice work, I love exploiting unicode characters to "draw" in terminal environments. You seem to use '╰', '╮', '╭' and '╯' to approximate non-straight lines, interesting idea, I haven't seen this before.<p>Another approach is to use block characters, like U+259A or U+259E (see <a href="https://en.wikipedia.org/wiki/Block_Elements" rel="nofollow">https://en.wikipedia.org/wiki/Block_Elements</a>), but unfortunately it is hard to do when you want to support colors as it doesn't go well with intersections.<p>//edit: HN does not like block elements, but your 21th century terminal will print them
I can also recommend:<p><a href="https://github.com/kroitor/asciichart" rel="nofollow">https://github.com/kroitor/asciichart</a> (JS, Py)<p><a href="https://github.com/guptarohit/asciigraph" rel="nofollow">https://github.com/guptarohit/asciigraph</a> (Go)<p><a href="https://github.com/madnight/asciichart" rel="nofollow">https://github.com/madnight/asciichart</a> (Haskell)
Nicely done! Glad to see the explicit shout-out to <a href="https://github.com/kroitor/asciichart" rel="nofollow">https://github.com/kroitor/asciichart</a><p>FYI, the original calls itself ASCII chart because it limits itself to ASCII - <a href="https://en.wikipedia.org/wiki/ASCII" rel="nofollow">https://en.wikipedia.org/wiki/ASCII</a><p>However, the curved shapes are from <a href="https://en.wikipedia.org/wiki/Code_page_866" rel="nofollow">https://en.wikipedia.org/wiki/Code_page_866</a> which originated from the USSR and was used in DOS and OS/2 to write Cyrillic script.<p>I honestly didn't know until I searched for it; I was curious and didn't recognize the characters.
Cool little project, I would put the gif of the graph at the beginning of the Readme before the advanced example. This shows off the application a bit earlier.
Awesome! Good to see you added two new features, i.e. color and multiline. Check the one ported to the Go <a href="https://github.com/guptarohit/asciigraph" rel="nofollow">https://github.com/guptarohit/asciigraph</a>