Struct sampling::heatmap::HeatmapUsizeMean
source · pub struct HeatmapUsizeMean<HistX, HistY> { /* private fields */ }
Expand description
Heatmap with mean of y-axis
- stores heatmap in row-major order: the rows of the heatmap are contiguous, and the columns are strided
- enables you to quickly create a heatmap
- you can create gnuplot scripts to plot the heatmap
- for each x-axis bin, the y-axis mean is calculated
- …
Difference to HeatmapU
HeatmapU
does not contain the averages for th y-axis, but can be transposed and also used for Y-Histograms which take types which do not implementAsPrimitive<f64>
Implementations§
source§impl<HistX, HistY> HeatmapUsizeMean<HistX, HistY>
impl<HistX, HistY> HeatmapUsizeMean<HistX, HistY>
source§impl<HistX, HistY> HeatmapUsizeMean<HistX, HistY>
impl<HistX, HistY> HeatmapUsizeMean<HistX, HistY>
sourcepub fn new(hist_x: HistX, hist_y: HistY) -> Self
pub fn new(hist_x: HistX, hist_y: HistY) -> Self
Create a heatmap
- creates new instance
hist_x
defines the bins along the x-axishist_y
defines the bins along the y-axis
sourcepub fn count_inside_heatmap<X, Y, A, B>(
&mut self,
x_val: A,
y_val: B
) -> Result<(usize, usize), HeatmapError>where
HistX: HistogramVal<X>,
HistY: HistogramVal<Y>,
A: Borrow<X>,
B: Borrow<Y>,
Y: AsPrimitive<f64>,
pub fn count_inside_heatmap<X, Y, A, B>(
&mut self,
x_val: A,
y_val: B
) -> Result<(usize, usize), HeatmapError>where
HistX: HistogramVal<X>,
HistY: HistogramVal<Y>,
A: Borrow<X>,
B: Borrow<Y>,
Y: AsPrimitive<f64>,
Update Heatmap
- similar to
count
ofHeatmapU
This time, however, any value that is out of bounds will be ignored for the calculation of the mean of the y-axis, meaning also values which correspond to a valid x-bin will be ignored, if their y-value is not inside the Y Histogram
sourcepub fn count<X, Y, A, B>(
&mut self,
x_val: A,
y_val: B
) -> Result<(usize, usize), HeatmapError>where
HistX: HistogramVal<X>,
HistY: HistogramVal<Y>,
A: Borrow<X>,
B: Borrow<Y>,
Y: AsPrimitive<f64>,
pub fn count<X, Y, A, B>(
&mut self,
x_val: A,
y_val: B
) -> Result<(usize, usize), HeatmapError>where
HistX: HistogramVal<X>,
HistY: HistogramVal<Y>,
A: Borrow<X>,
B: Borrow<Y>,
Y: AsPrimitive<f64>,
Update heatmap
- Corresponds to
count
ofHeatmapU
The difference is, that the mean of the y-axis is updated as long as y_val
is finite
and x_val
is in bounds (because the mean is calculated for each bin in the x direction
separately)
sourcepub fn mean_slice(&self) -> &[MeanWithError]
pub fn mean_slice(&self) -> &[MeanWithError]
Internal slice for mean
- The mean is calculated from this slice
- The mean corresponds to the bins of the x-axis
- you can also access the estimated error of the mean here
sourcepub fn mean_iter(&self) -> impl Iterator<Item = f64> + '_
pub fn mean_iter(&self) -> impl Iterator<Item = f64> + '_
Iterate over the calculated mean
- iterates over the means
- The mean corresponds to the bins of the x-axis
- if a bin on the x-axis has no entries, the corresponding
mean will be
f64::NAN
sourcepub fn mean(&self) -> Vec<f64>
pub fn mean(&self) -> Vec<f64>
Get a mean vector
- The entries are the means corresponds to the bins of the x-axis
- if a bin on the x-axis has no entries, the corresponding
mean will be
f64::NAN
Note
- If you want to iterate over the mean values, use
mean_iter
instead - If you require error information, take a look at
mean_slice
sourcepub fn into_heatmap_normalized_columns(self) -> HeatmapF64Mean<HistX, HistY>
pub fn into_heatmap_normalized_columns(self) -> HeatmapF64Mean<HistX, HistY>
returns (column wise) normalized heatmap
-
returns normalized heatmap as
HeatmapF64Mean
-
Heatmap vector
self.heatmap_normalized().heatmap()
contains only 0.0, if nothing was in the heatmap -
otherwise the sum of each column (fixed x) will be 1.0 (within numerical errors), if it contained at least one hit. If it did not, the column will only consist of 0.0
-
otherwise the sum of this Vector is 1.0
For the calculation of the mean, each count
will have a weight of 1
sourcepub fn gnuplot_quick<W>(&self, writer: W) -> Result<()>where
W: Write,
pub fn gnuplot_quick<W>(&self, writer: W) -> Result<()>where
W: Write,
Create a gnuplot script to plot your heatmap
writer
: The gnuplot script will be written to thisgnuplot_output_name
: how shall the file, created by executing gnuplot, be called? Ending of file will be set automatically
Note
- This is the same as calling
gnuplot
with defaultGnuplotSettings
and defaultGnuplotPointSettings
- The default axis are the bin indices, which, e.g, means they always begin at 0. You have to set the axis via the GnuplotSettings
sourcepub fn gnuplot<W, P, GS>(
&self,
writer: W,
settings: GS,
points: P
) -> Result<()>
pub fn gnuplot<W, P, GS>( &self, writer: W, settings: GS, points: P ) -> Result<()>
Create a gnuplot script to plot your heatmap
This function writes a file, that can be plotted via the terminal via gnuplot
gnuplot gnuplot_file
Parameter:
writer
: writer gnuplot script will be written tognuplot_output_name
: how shall the file, created by executing gnuplot, be called? Ending of file will be set automaticallysettings
: Here you can set the axis, choose between terminals and more. I recommend that you take a look at GnuplotSettingspoint_color
: the mean (in y-direction) will be plotted as points in the heatmap. Here you can choose the point color
Note
- The default axis are the bin indices, which, e.g, means they always begin at 0. You have to set the axis via the GnuplotSettings