# histogram Creates a new table with a histogram based on the column name passed in. Syntax: `histogram ...args` ## Parameters * ``: name of the column to graph by * `args`: column name to give the histogram's frequency column ## Examples Let's say we have this file `random_numers.csv` which contains 50 random numbers. **Note**: The input doesn't have to be numbers it works on strings too. Try it out. ```shell > open random_numbers.csv ────┬──────────────── # │ random numbers ────┼──────────────── 0 │ 1 1 │ 2 2 │ 2 ... 47 │ 5 48 │ 5 49 │ 1 ────┴──────────────── ``` If we now want to see how often the different numbers were generated, we can use the `histogram` function: ```shell > open random_numbers.csv | histogram "random numbers" ───┬────────────────┬───────┬────────────────────────────────────────────────────────────────────────────────────────────────────── # │ random numbers │ count │ frequency ───┼────────────────┼───────┼────────────────────────────────────────────────────────────────────────────────────────────────────── 0 │ 0 │ 1 │ ****** 1 │ 1 │ 15 │ **************************************************************************************************** 2 │ 2 │ 10 │ ****************************************************************** 3 │ 3 │ 7 │ ********************************************** 4 │ 4 │ 9 │ ************************************************************ 5 │ 5 │ 8 │ ***************************************************** ───┴────────────────┴───────┴────────────────────────────────────────────────────────────────────────────────────────────────────── ``` We can also set the name of the second column or sort the table: ```shell > open random_numbers.csv | histogram "random numbers" probability ───┬────────────────┬───────┬────────────────────────────────────────────────────────────────────────────────────────────────────── # │ random numbers │ count │ probability ───┼────────────────┼───────┼────────────────────────────────────────────────────────────────────────────────────────────────────── 0 │ 0 │ 1 │ ****** 1 │ 1 │ 15 │ **************************************************************************************************** 2 │ 2 │ 10 │ ****************************************************************** 3 │ 3 │ 7 │ ********************************************** 4 │ 4 │ 9 │ ************************************************************ 5 │ 5 │ 8 │ ***************************************************** ───┴────────────────┴───────┴────────────────────────────────────────────────────────────────────────────────────────────────────── ``` ```shell > open random_numbers.csv | histogram "random numbers" probability | sort-by probability ───┬────────────────┬───────┬────────────────────────────────────────────────────────────────────────────────────────────────────── # │ random numbers │ count │ probability ───┼────────────────┼───────┼────────────────────────────────────────────────────────────────────────────────────────────────────── 0 │ 0 │ 1 │ ****** 1 │ 3 │ 7 │ ********************************************** 2 │ 5 │ 8 │ ***************************************************** 3 │ 4 │ 9 │ ************************************************************ 4 │ 2 │ 10 │ ****************************************************************** 5 │ 1 │ 15 │ **************************************************************************************************** ───┴────────────────┴───────┴────────────────────────────────────────────────────────────────────────────────────────────────────── ``` Of course, histogram operations are not restricted to just analyzing numbers in files, you can also analyze your directories ```shell > ls -la | histogram type | sort-by count ───┬─────────┬───────┬────────────────────────────────────────────────────────────────────────────────────────────────────── # │ type │ count │ frequency ───┼─────────┼───────┼────────────────────────────────────────────────────────────────────────────────────────────────────── 0 │ Symlink │ 8 │ ***************** 1 │ File │ 9 │ ******************** 2 │ Dir │ 45 │ **************************************************************************************************** ───┴─────────┴───────┴────────────────────────────────────────────────────────────────────────────────────────────────────── ```