Creates an evenly spaced, pretty sequence of numbers for a range of a vector.

pretty_range(x, n = NULL, length = NULL)

Arguments

x

A numeric vector.

n

Numeric value, indicating the size of how many values are used to create a pretty sequence. If x has a large value range (> 100), n could be something between 1 to 5. If x has a rather small amount of unique values, n could be something between 10 to 20. If n = NULL, pretty_range() automatically tries to find a pretty sequence.

length

Integer value, as alternative to n, defines the number of intervals to be returned.

Value

A numeric vector with a range corresponding to the minimum and maximum values of x. If x is missing, a function, pre-programmed with n and length is returned. See examples.

Examples

data(iris)
# pretty range for vectors with decimal points
pretty_range(iris$Petal.Length)
#>  [1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0

# pretty range for large range, increasing by 50
pretty_range(1:1000)
#>  [1]    0   50  100  150  200  250  300  350  400  450  500  550  600  650  700
#> [16]  750  800  850  900  950 1000

# increasing by 20
pretty_range(1:1000, n = 7)
#>  [1]    0   20   40   60   80  100  120  140  160  180  200  220  240  260  280
#> [16]  300  320  340  360  380  400  420  440  460  480  500  520  540  560  580
#> [31]  600  620  640  660  680  700  720  740  760  780  800  820  840  860  880
#> [46]  900  920  940  960  980 1000

# return 10 intervals
pretty_range(1:1000, length = 10)
#>  [1]    0  100  200  300  400  500  600  700  800  900 1000

# same result
pretty_range(1:1000, n = 2.5)
#>  [1]    0  100  200  300  400  500  600  700  800  900 1000

# function factory
range_n_5 <- pretty_range(n = 5)
range_n_5(1:1000)
#>  [1]    0   50  100  150  200  250  300  350  400  450  500  550  600  650  700
#> [16]  750  800  850  900  950 1000