Here's another text-only plotting package to play around with: https://github.com/mbauman/Sparklines.jl
We're starting to have substantial text plotting abilities. On Sat, May 24, 2014 at 5:39 PM, Adam Smith <[email protected]> wrote: > Patrick: I hadn't seen urwid before. It looks powerful and slightly > insane; I wouldn't want to make TextPlots depend on something so massive > (or on python, for that matter). > > Keno, Stefan: I'll see what I can do using the recent Base.Terminals stuff > when I work on the reporting process. I need to get back to my main project > for a bit and off the "ooh, shiny" sadly. > > > On Saturday, May 24, 2014 5:25:42 PM UTC-4, Stefan Karpinski wrote: > >> Given that we have our own terminal functionality and ncurses is >> generally considered to be not so easy to use, it may be worthwhile to have >> our own ncurses-like library. But better and simpler, of course. This >> terminal stuff is a lot easier if you make the radical assumption that >> people are using hardware from later than 1978. >> >> >> On Sat, May 24, 2014 at 11:23 AM, Keno Fischer < >> [email protected]> wrote: >> >>> There is NCurses bindings for Julia which used to work before Terminals >>> was integrated into Julia: https://github.com/loladiro/NCurses.jl. Now >>> I'm not sure anymore. Will put it on the list of things to do, but no >>> promises. >>> >>> >>> On Sat, May 24, 2014 at 5:14 PM, Patrick O'Leary <[email protected]> >>> wrote: >>> >>>> It might be possible to PyCall into urwid, though I don't know if >>>> there's a way to rectify the event loops. >>>> >>>> >>>> On Friday, May 23, 2014 3:05:10 PM UTC-5, Adam Smith wrote: >>>>> >>>>> Sweet, that one turns out surprisingly well! When I get further on the >>>>> main project I'm building in Julia, I want to add a watchdog process that >>>>> dumps graphs of various app metrics (cpu usage over time, etc.) with >>>>> TextPlots. Is there a good ncurses-type package for re-drawing a UI in the >>>>> terminal? I couldn't find one yet. >>>>> >>>>> On Friday, May 23, 2014 3:56:59 PM UTC-4, Stefan Karpinski wrote: >>>>>> >>>>>> This is so cool: >>>>>> >>>>>> julia> plot(cumsum(randn(1000))) >>>>>> >>>>>> 2.73641 ⡤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤ >>>>>> ⠤⢤ >>>>>> ⡇⡼⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ >>>>>> ⠀⠀⢸ >>>>>> ⡇⡇⢃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ >>>>>> ⠀⠀⢸ >>>>>> ⡇⠀⢈⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀ >>>>>> ⠀⠀⢸ >>>>>> ⡇⠀⠐⡇⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⡴⡄⠀⡀⡾⠅⠀⠀⠀⠀⠀⠀ >>>>>> ⠀⠀⢸ >>>>>> ⡇⠀⠀⠚⢀⢠⢣⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣬⠋⣧⠀⣰⠁⠄⢀⠀⠀⠀⠀⠀ >>>>>> ⠀⠀⢸ >>>>>> ⡇⠀⠀⢈⣃⢘⠙⠦⠀⢀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⡁⠀⠈⣦⡖⠀⢃⣺⠀⠀⠀⠀⠀ >>>>>> ⠀⠀⢸ >>>>>> ⡇⠀⠀⠸⢕⡏⠨⢛⢰⡸⢻⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⢀⣒⣖⠀⠄⠘⣧⡅⠐⠇⠀⠀⠮⠀⠀⠹⠃⠆⠀⠀⠀⠀ >>>>>> ⠀⠀⢸ >>>>>> ⡇⠀⠀⠀⠐⠃⠀⠨⣶⠏⠀⠛⣅⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⢼⣨⡻⢛⢬⠃⡅⢹⢩⠘⠀⠀⠀⠀⠀⠀⠈⠀⣄⠀⠀⠀⠀ >>>>>> ⠀⠀⢸ >>>>>> ⡇⠀⠀⠀⠀⠀⠀⠀⠈⠁⠀⠀⢣⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⣦⡄⠀⠀⠀⠀⠀⠀⠀⡊⡍⠇⠁⠐⡝⢷⠃⠀⠘⡕⠀⠀⠀⠀⠀⠀⠀⠀⢹⡿⣃⠀⣀ >>>>>> ⠀⠀⢸ >>>>>> ⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⠀⠀⠀⠀⠀⠀⠀⠀⡆⢀⠀⠘⡸⠛⣳⠄⢀⠀⠆⠀⠀⠀⡃⠁⠀⠀⠀⠀⠘⠀⠀⠀⠋⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⢸⣾⡷ >>>>>> ⠀⠀⢸ >>>>>> ⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠁⠀⠀⠀⢠⠀⠀⢐⢇⣨⢈⡞⠏⠀⠙⣣⣺⣞⡅⠀⠀⢀⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠋⠘ >>>>>> ⡄⡀⢸ >>>>>> ⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢧⣴⣅⣆⣜⢆⠀⢸⠘⡳⡾⠀⠀⠀⠀⢈⡱⢱⢩⠀⠀⠸⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ >>>>>> ⣡⠀⢸ >>>>>> ⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠏⠿⢫⠍⢹⡄⡖⢠⠁⠁⠀⠀⠀⠀⠈⠁⠀⢨⣄⣨⡮⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ >>>>>> ⠙⠀⢸ >>>>>> ⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠇⡆⠐⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠋⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ >>>>>> ⠀⠀⢸ >>>>>> ⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠺⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ >>>>>> ⠀⠀⢸ >>>>>> ⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ >>>>>> ⠀⠀⢸ >>>>>> -35.0016 ⠓⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒ >>>>>> ⠒⠚ >>>>>> 1 >>>>>> 1000 >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> On Fri, May 23, 2014 at 3:02 PM, Adam Smith <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> Sigh, I had a nagging feeling it was supposed to be plural. I did >>>>>>> one more (hopefully final) rename to TextPlots.jl: https://github.c >>>>>>> om/sunetos/TextPlots.jl and updated the source/readme and such. >>>>>>> >>>>>>> >>>>>>> On Friday, May 23, 2014 2:18:54 PM UTC-4, Stefan Karpinski wrote: >>>>>>> >>>>>>>> There's a convention to name packages plurally – i.e. TextPlots >>>>>>>> rather than TextPlot. This is nice partly because using TextPlots reads >>>>>>>> more naturally than using TextPlot, but more importantly because >>>>>>>> if you, as is likely, end up having a type called TextPlot, then >>>>>>>> you don't get a name collision. >>>>>>>> >>>>>>>> On Fri, May 23, 2014 at 10:56 AM, Mike Innes <[email protected]> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Incidentally, interop with other packages without a hard >>>>>>>>> dependency is something that's around the corner, so you will be able >>>>>>>>> to do >>>>>>>>> this soon. >>>>>>>>> >>>>>>>>> >>>>>>>>> On 23 May 2014 15:32, Adam Smith <[email protected]> wrote: >>>>>>>>> >>>>>>>>>> Thanks all for the feedback! I have renamed it to TextPlot.jl, >>>>>>>>>> added support for plotting just about any combination of >>>>>>>>>> functions/vectors/matrix, made the API more flexible for Gadfly >>>>>>>>>> compatibility, and greatly expanded the documentation/examples. It >>>>>>>>>> is now >>>>>>>>>> quite a bit more powerful than ASCIIPlots: https://github.com >>>>>>>>>> /sunetos/TextPlot.jl >>>>>>>>>> >>>>>>>>>> Ivar: I like the idea of having this be a backend for one of the >>>>>>>>>> other plotting packages, but the dependency would need to be the >>>>>>>>>> other >>>>>>>>>> direction. Meaning, they would need to add support for TextPlot, not >>>>>>>>>> the >>>>>>>>>> other way around. Right now TextPlot has zero dependencies, so you >>>>>>>>>> can use >>>>>>>>>> it in basically any environment, including a console-only server >>>>>>>>>> connected >>>>>>>>>> over SSH. Installing Gadfly requires quite a few dependencies on >>>>>>>>>> other >>>>>>>>>> packages, including Cairo and other graphical packages if you want >>>>>>>>>> PNG >>>>>>>>>> charts (for iTerm2+IPython inline charts, a similar use case to this >>>>>>>>>> one). >>>>>>>>>> TextPlot would be quite useful for machines that cannot build all >>>>>>>>>> those >>>>>>>>>> other packages, so I don't want to make TextPlot depend on any of >>>>>>>>>> those >>>>>>>>>> packages. >>>>>>>>>> >>>>>>>>>> I think TextPlot is pretty capable already; please let me know if >>>>>>>>>> you can think of anything it's missing! >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Friday, May 23, 2014 5:24:50 AM UTC-4, Ivar Nesje wrote: >>>>>>>>>>> >>>>>>>>>>> Yes, that was definitely my intention to suggest. It looks to me >>>>>>>>>>> like ASCIIPlots.jl and DotPlot.jl solves the same problem in a very >>>>>>>>>>> similar >>>>>>>>>>> way, and whether to use Unicode for higher resolution seems like >>>>>>>>>>> something >>>>>>>>>>> I would expect to be an option. >>>>>>>>>>> >>>>>>>>>>> Anyway, the ultimate goal for ASCII art plots, would be to >>>>>>>>>>> implement it as a backend for one of the normal plotting packages. >>>>>>>>>>> >>>>>>>>>>> Ivar >>>>>>>>>>> >>>>>>>>>>> kl. 10:06:42 UTC+2 fredag 23. mai 2014 skrev Tobias Knopp >>>>>>>>>>> følgende: >>>>>>>>>>>> >>>>>>>>>>>> I think "merge" was meant as: Lets create one uniform package >>>>>>>>>>>> and join the efforts. Since ASCIIPlots is not actively maintained >>>>>>>>>>>> I think >>>>>>>>>>>> it would be really great if you could take the lead to make an >>>>>>>>>>>> awsome text >>>>>>>>>>>> plotting tool. >>>>>>>>>>>> >>>>>>>>>>>> I like the name TextPlot by the way. >>>>>>>>>>>> >>>>>>>>>>>> Am Donnerstag, 22. Mai 2014 17:42:06 UTC+2 schrieb Adam Smith: >>>>>>>>>>>>> >>>>>>>>>>>>> TextPlot seems like a good name. >>>>>>>>>>>>> >>>>>>>>>>>>> Thanks for the offer on merging, but again, there's really >>>>>>>>>>>>> nothing to merge. Adding scatterplots to dotplot will be trivial; >>>>>>>>>>>>> I'll do >>>>>>>>>>>>> that soon (making dotplot's features a superset of ASCIIPlots). >>>>>>>>>>>>> There is >>>>>>>>>>>>> nothing compatible/overlapping between these two (small) >>>>>>>>>>>>> codebases for >>>>>>>>>>>>> merging to make sense. >>>>>>>>>>>>> >>>>>>>>>>>>> I would be curious what John Myles White thinks about a more >>>>>>>>>>>>> complete terminal plotting package for Julia. ASCIIPlots clearly >>>>>>>>>>>>> imitates >>>>>>>>>>>>> Matlab's plotting functions ("imagesc"), and I was going for >>>>>>>>>>>>> something >>>>>>>>>>>>> closer to Mathematica or Maple (which are more symbolic-oriented >>>>>>>>>>>>> than >>>>>>>>>>>>> Matlab), since I think the syntax is prettier. However, I know a >>>>>>>>>>>>> large >>>>>>>>>>>>> portion of Julia's users are also Matlab users, so if >>>>>>>>>>>>> Matlab-compatibility >>>>>>>>>>>>> is a goal, you may want to keep the packages separate. >>>>>>>>>>>>> >>>>>>>>>>>>> On Thursday, May 22, 2014 11:25:01 AM UTC-4, Leah Hanson wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>> Maybe something like TextPlot would be a good merged name? It >>>>>>>>>>>>>> conveys what the package does (text plots) rather than how it >>>>>>>>>>>>>> does it >>>>>>>>>>>>>> (Braille characters). >>>>>>>>>>>>>> >>>>>>>>>>>>>> Having a more complete plotting package for the terminal >>>>>>>>>>>>>> would move towards having a way to make `plot` just work when >>>>>>>>>>>>>> you start up >>>>>>>>>>>>>> a Julia REPL, which I think is a goal. I'd be happy to help >>>>>>>>>>>>>> merge them, but >>>>>>>>>>>>>> probably won't have time for a couple weeks. >>>>>>>>>>>>>> >>>>>>>>>>>>>> -- Leah >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Thu, May 22, 2014 at 7:49 AM, Adam Smith < >>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> I'm not totally opposed to it, but my initial reaction is >>>>>>>>>>>>>>> not to: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> 1. I don't necessarily agree about the name. I >>>>>>>>>>>>>>> personally think "dot plot" has a nice ring to it, and it is >>>>>>>>>>>>>>> a more >>>>>>>>>>>>>>> accurate description of what it does (using Braille >>>>>>>>>>>>>>> characters). This very >>>>>>>>>>>>>>> specifically exploits Unicode (non-ASCII) characters, so >>>>>>>>>>>>>>> calling it an >>>>>>>>>>>>>>> ASCII plot would be misleading (for those who want the >>>>>>>>>>>>>>> restricted character >>>>>>>>>>>>>>> set for some reason). >>>>>>>>>>>>>>> 2. There's not really a single line of code they have in >>>>>>>>>>>>>>> common, so there's nothing to "merge": it would just be a >>>>>>>>>>>>>>> rename. I didn't >>>>>>>>>>>>>>> look at the code of ASCIIPlots before making it, and we >>>>>>>>>>>>>>> chose completely >>>>>>>>>>>>>>> different APIs. For example, ASCIIPlots doesn't have a way >>>>>>>>>>>>>>> to plot >>>>>>>>>>>>>>> functions, and DotPlot doesn't (yet) have a way to >>>>>>>>>>>>>>> scatterplot an array. >>>>>>>>>>>>>>> 3. They are both quite small and simple (dotplot is ~100 >>>>>>>>>>>>>>> lines of code, ascii is ~250); merging would probably be >>>>>>>>>>>>>>> more work than >>>>>>>>>>>>>>> either originally took to create. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Thursday, May 22, 2014 1:31:10 AM UTC-4, Ivar Nesje wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Would it make sense to merge this functionality into >>>>>>>>>>>>>>>> ASCIIPlots? To me that seems like a better name, and John >>>>>>>>>>>>>>>> Myles White is >>>>>>>>>>>>>>>> likely to be willing to transfer the repository if you want to >>>>>>>>>>>>>>>> be the >>>>>>>>>>>>>>>> maintainer. That package started from code posted on the >>>>>>>>>>>>>>>> mailing list, and >>>>>>>>>>>>>>>> the author thought it was a joke. John packaged it for others >>>>>>>>>>>>>>>> to use. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>> >>> >>
