mkaz / termgraph

a python command-line tool which draws basic graphs in the terminal
MIT License
3.15k stars 164 forks source link

[Feature] Add --values-first flag to swap values and labels in the input #95

Open maxim-kukushkin opened 2 years ago

maxim-kukushkin commented 2 years ago

Termgraph is a useful CLI tool and it can become even more useful if it can seamlessly integrate with existing bin utils. One example of the latter one is sort and uniq commands in Unix-like systems.

Adding | sort | uniq -c to your pipeline is often useful to get some statistics. The problem is that it prints the number of occurrences first, and then the actual label string. This is goes in contrast to what Termgraph expects and thus visualizing these numbers would require an extra pre-processing like an awk script.

This PR adds --values-first flag to Termgraph, making it assume that each line first contains the values and labels go as the last column (vs. the default behavior where labels are the first column).

ex10.dat shows that it works with multiple value columns as well. Respective unit test was added.

With this change, it's possible to do the following: | sort | uniq -c | termgraph --values-first and have it visualize the data.

The input data would look like this:

     16 alter
     17 create
     15 drop
     12 insert
      8 update
maxim-kukushkin commented 2 years ago

Any chance to get reviews on this PR? Or may be suggestions if community/code owner find that this feature must not be there

maxim-kukushkin commented 2 years ago

any thoughts?

maxim-kukushkin commented 1 year ago

@mkaz, any chance you can have a look at this change?

maxim-kukushkin commented 1 year ago

@mkaz, are you still maintaining the repo or is it abandoned?