nushell/docs/commands/histogram.md
2019-11-26 20:47:34 +01:00

172 lines
11 KiB
Markdown

# histogram
Creates a new table with a histogram based on the column name passed in.
Syntax: `histogram <column_name> ...args`
### Parameters
* `<column-name>`: 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 number
────┼───────────────
087
146
239
...
4794
4861
4967
━━━━┷━━━━━━━━━━━━━━━
```
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 number"
━━━━┯━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# │ random number │ frecuency
────┼───────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────
010 │ *************************
114 │ **************************************************
217 │ *************************
322 │ *************************
424 │ *************************
528 │ *************************
629 │ *************************
731 │ *************************
837 │ *************************
938 │ *************************
1039 │ *************************
1145 │ *************************
1246 │ ***************************************************************************
1349 │ *************************
145 │ *************************
1551 │ ***************************************************************************
1652 │ *************************
1755 │ *************************
1856 │ **************************************************
1960 │ *************************
2061 │ **************************************************
2164 │ *************************
2265 │ *************************
2367 │ **************************************************
2468 │ *************************
2573 │ *************************
2680 │ **************************************************
2782 │ *************************
2886 │ ****************************************************************************************************
2987 │ **************************************************
3088 │ *************************
3189 │ *************************
329 │ *************************
3392 │ *************************
3494 │ *************************
3596 │ *************************
3699 │ *************************
━━━━┷━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```
We can also set the name of the second column or sort the table:
```shell
> open random_numbers.csv | histogram "random number" probability
━━━━┯━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# │ random number │ probability
────┼───────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────
010 │ *************************
114 │ **************************************************
217 │ *************************
322 │ *************************
424 │ *************************
528 │ *************************
629 │ *************************
731 │ *************************
837 │ *************************
938 │ *************************
1039 │ *************************
1145 │ *************************
1246 │ ***************************************************************************
1349 │ *************************
145 │ *************************
1551 │ ***************************************************************************
1652 │ *************************
1755 │ *************************
1856 │ **************************************************
1960 │ *************************
2061 │ **************************************************
2164 │ *************************
2265 │ *************************
2367 │ **************************************************
2468 │ *************************
2573 │ *************************
2680 │ **************************************************
2782 │ *************************
2886 │ ****************************************************************************************************
2987 │ **************************************************
3088 │ *************************
3189 │ *************************
329 │ *************************
3392 │ *************************
3494 │ *************************
3596 │ *************************
3699 │ *************************
━━━━┷━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```
```shell
> open random_numbers.csv | histogram "random number" probability | sort-by probability
━━━━┯━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# │ random number │ probability
────┼───────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────
010 │ *************************
117 │ *************************
222 │ *************************
324 │ *************************
428 │ *************************
529 │ *************************
631 │ *************************
737 │ *************************
838 │ *************************
939 │ *************************
1045 │ *************************
1149 │ *************************
125 │ *************************
1352 │ *************************
1455 │ *************************
1560 │ *************************
1664 │ *************************
1765 │ *************************
1868 │ *************************
1973 │ *************************
2082 │ *************************
2188 │ *************************
2289 │ *************************
239 │ *************************
2492 │ *************************
2594 │ *************************
2696 │ *************************
2799 │ *************************
2814 │ **************************************************
2956 │ **************************************************
3061 │ **************************************************
3167 │ **************************************************
3280 │ **************************************************
3387 │ **************************************************
3446 │ ***************************************************************************
3551 │ ***************************************************************************
3686 │ ****************************************************************************************************
━━━━┷━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```