xhistogram¶
Defined in xtensor/xhistogram.hpp
-
enum xt::histogram_algorithm¶
Defines different algorithms to be used in “histogram_bin_edges”.
Values:
-
enumerator automatic¶
-
enumerator linspace¶
-
enumerator logspace¶
-
enumerator uniform¶
-
enumerator automatic¶
-
template<class R = double, class E1, class E2, class E3>
inline auto xt::histogram(E1 &&data, E2 &&bin_edges, E3 &&weights, bool density = false)¶ Compute the histogram of a set of data.
- Parameters
data – The data.
bin_edges – The bin-edges. It has to be 1-dimensional and monotonic.
weights – Weight factors corresponding to each data-point.
density – If true the resulting integral is normalized to 1. [default: false]
- Returns
An one-dimensional xarray<double>, length: bin_edges.size()-1.
-
template<class E1, class E2, xtl::check_concept<is_xexpression<std::decay_t<E2>>> = 0>
inline auto xt::bincount(E1 &&data, E2 &&weights, std::size_t minlength = 0)¶ Count number of occurrences of each value in array of non-negative ints.
The number of bins (of size 1) is one larger than the largest value in x. If minlength is specified, there will be at least this number of bins in the output array (though it will be longer if necessary, depending on the contents of x). Each bin gives the number of occurrences of its index value in x. If weights is specified the input array is weighted by it, i.e. if a value
n
is found at positioni
,out[n] += weight[i]
instead ofout[n] += 1
.- Parameters
data – the 1D container with integers to count into bins
weights – a 1D container with the same number of elements as
data
minlength – The minlength
- Returns
1D container with the bincount
-
template<class E1, class E2, class E3>
inline auto xt::histogram_bin_edges(E1 &&data, E2 &&weights, E3 left, E3 right, std::size_t bins = 10, histogram_algorithm mode = histogram_algorithm::automatic)¶ Compute the bin-edges of a histogram of a set of data using different algorithms.
- Parameters
data – The data.
weights – Weight factors corresponding to each data-point.
left – The lower-most edge.
right – The upper-most edge.
bins – The number of bins. [default: 10]
mode – The type of algorithm to use. [default: “auto”]
- Returns
An one-dimensional xarray<double>, length: bins+1.
Warning
doxygenfunction: Unable to resolve function “xt::digitize” with arguments (E1&&, E2&&, E3&&, bool, bool) in doxygen xml output for project “xtensor” from directory: ../xml. Potential matches:
- template<class E1, class E2> auto digitize(E1 &&data, E2 &&bin_edges, bool right = false)
-
template<class E>
inline xt::xtensor<size_t, 1> xt::bin_items(size_t N, E &&weights)¶ Get the number of items in each bin, given the fraction of items per bin.
The output is such that the total number of items of all bins is exactly “N”.
- Parameters
N – the number of items to distribute
weights – fraction of items per bin: a 1D container whose size is the number of bins
- Returns
1D container with the number of items per bin
Further overloads¶
-
template<class R = double, class E1, class E2>
inline auto xt::histogram(E1 &&data, E2 &&bin_edges, bool density = false)¶ Compute the histogram of a set of data.
- Parameters
data – The data.
bin_edges – The bin-edges.
density – If true the resulting integral is normalized to 1. [default: false]
- Returns
An one-dimensional xarray<double>, length: bin_edges.size()-1.
-
template<class R = double, class E1>
inline auto xt::histogram(E1 &&data, std::size_t bins = 10, bool density = false)¶ Compute the histogram of a set of data.
- Parameters
data – The data.
bins – The number of bins. [default: 10]
density – If true the resulting integral is normalized to 1. [default: false]
- Returns
An one-dimensional xarray<double>, length: bin_edges.size()-1.
-
template<class R = double, class E1, class E2>
inline auto xt::histogram(E1 &&data, std::size_t bins, E2 left, E2 right, bool density = false)¶ Compute the histogram of a set of data.
- Parameters
data – The data.
bins – The number of bins.
left – The lower-most edge.
right – The upper-most edge.
density – If true the resulting integral is normalized to 1. [default: false]
- Returns
An one-dimensional xarray<double>, length: bin_edges.size()-1.
-
template<class R = double, class E1, class E2>
inline auto xt::histogram(E1 &&data, std::size_t bins, E2 &&weights, bool density = false)¶ Compute the histogram of a set of data.
- Parameters
data – The data.
bins – The number of bins.
weights – Weight factors corresponding to each data-point.
density – If true the resulting integral is normalized to 1. [default: false]
- Returns
An one-dimensional xarray<double>, length: bin_edges.size()-1.
-
template<class R = double, class E1, class E2, class E3>
inline auto xt::histogram(E1 &&data, std::size_t bins, E2 &&weights, E3 left, E3 right, bool density = false)¶ Compute the histogram of a set of data.
- Parameters
data – The data.
bins – The number of bins.
left – The lower-most edge.
right – The upper-most edge.
weights – Weight factors corresponding to each data-point.
density – If true the resulting integral is normalized to 1. [default: false]
- Returns
An one-dimensional xarray<double>, length: bin_edges.size()-1.
-
template<class E1, class E2>
inline auto xt::histogram_bin_edges(E1 &&data, E2 left, E2 right, std::size_t bins = 10, histogram_algorithm mode = histogram_algorithm::automatic)¶ Compute the bin-edges of a histogram of a set of data using different algorithms.
- Parameters
data – The data.
left – The lower-most edge.
right – The upper-most edge.
bins – The number of bins. [default: 10]
mode – The type of algorithm to use. [default: “auto”]
- Returns
An one-dimensional xarray<double>, length: bins+1.
-
template<class E1, class E2>
inline auto xt::histogram_bin_edges(E1 &&data, E2 &&weights, std::size_t bins = 10, histogram_algorithm mode = histogram_algorithm::automatic)¶ Compute the bin-edges of a histogram of a set of data using different algorithms.
- Parameters
data – The data.
weights – Weight factors corresponding to each data-point.
bins – The number of bins. [default: 10]
mode – The type of algorithm to use. [default: “auto”]
- Returns
An one-dimensional xarray<double>, length: bins+1.
-
template<class E1>
inline auto xt::histogram_bin_edges(E1 &&data, std::size_t bins = 10, histogram_algorithm mode = histogram_algorithm::automatic)¶ Compute the bin-edges of a histogram of a set of data using different algorithms.
- Parameters
data – The data.
bins – The number of bins. [default: 10]
mode – The type of algorithm to use. [default: “auto”]
- Returns
An one-dimensional xarray<double>, length: bins+1.
-
inline xt::xtensor<size_t, 1> xt::bin_items(size_t N, size_t bins)¶
Get the number of items in each bin, with each bin having approximately the same number of items in it,under the constraint that the total number of items of all bins is exactly “N”.
- Parameters
N – the number of items to distribute
bins – the number of bins
- Returns
1D container with the number of items per bin