Struct net_ensembles::sampling::HeatmapF64Mean
source · [−]pub struct HeatmapF64Mean<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 HeatmapF64
HeatmapF64
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 implement AsPrimitive
Implementations
sourceimpl<HistX, HistY> HeatmapF64Mean<HistX, HistY>
impl<HistX, HistY> HeatmapF64Mean<HistX, HistY>
sourcepub fn heatmap(&self) -> &HeatmapF64<HistX, HistY>
pub fn heatmap(&self) -> &HeatmapF64<HistX, HistY>
Internal HeatmapF64
sourceimpl<HistX, HistY> HeatmapF64Mean<HistX, HistY>where
HistX: Histogram,
HistY: Histogram,
impl<HistX, HistY> HeatmapF64Mean<HistX, HistY>where
HistX: Histogram,
HistY: Histogram,
sourcepub fn new(hist_x: HistX, hist_y: HistY) -> HeatmapF64Mean<HistX, HistY>
pub fn new(hist_x: HistX, hist_y: HistY) -> HeatmapF64Mean<HistX, HistY>
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,
weight: f64
) -> 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,
weight: f64
) -> 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
ofHeatmapF64
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.
The mean respects the weight
sourcepub fn count<X, Y, A, B>(
&mut self,
x_val: A,
y_val: B,
weight: f64
) -> 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,
weight: f64
) -> 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). The calculated average respects the weight
sourcepub fn mean_slice(&self) -> &[WeightedMean]
pub fn mean_slice(&self) -> &[WeightedMean]
Internal slice for mean
- The mean is calculated from this slice
- The mean corresponds to the bins of the x-axis
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, Global>
pub fn mean(&self) -> Vec<f64, Global>
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
sourcepub fn gnuplot_quick<W>(&self, writer: W) -> Result<(), Error>where
W: Write,
pub fn gnuplot_quick<W>(&self, writer: W) -> Result<(), Error>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<(), Error>where
W: Write,
P: Borrow<GnuplotPointSettings>,
GS: Borrow<GnuplotSettings>,
pub fn gnuplot<W, P, GS>(
&self,
writer: W,
settings: GS,
points: P
) -> Result<(), Error>where
W: Write,
P: Borrow<GnuplotPointSettings>,
GS: Borrow<GnuplotSettings>,
Create a gnuplot script to plot your heatmap
This function writes a file, that can be plotted in 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? File suffix (ending) 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
Notes
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
Auto Trait Implementations
impl<HistX, HistY> RefUnwindSafe for HeatmapF64Mean<HistX, HistY>where
HistX: RefUnwindSafe,
HistY: RefUnwindSafe,
impl<HistX, HistY> Send for HeatmapF64Mean<HistX, HistY>where
HistX: Send,
HistY: Send,
impl<HistX, HistY> Sync for HeatmapF64Mean<HistX, HistY>where
HistX: Sync,
HistY: Sync,
impl<HistX, HistY> Unpin for HeatmapF64Mean<HistX, HistY>where
HistX: Unpin,
HistY: Unpin,
impl<HistX, HistY> UnwindSafe for HeatmapF64Mean<HistX, HistY>where
HistX: UnwindSafe,
HistY: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<S, T> CastFloat<T> for Swhere
T: ConvFloat<S>,
impl<S, T> CastFloat<T> for Swhere
T: ConvFloat<S>,
fn cast_trunc(self) -> T
fn cast_trunc(self) -> T
Cast to integer, truncating Read more
fn cast_nearest(self) -> T
fn cast_nearest(self) -> T
Cast to the nearest integer Read more
fn cast_floor(self) -> T
fn cast_floor(self) -> T
Cast the floor to an integer Read more
fn try_cast_trunc(self) -> Result<T, Error>
fn try_cast_trunc(self) -> Result<T, Error>
Try converting to integer with truncation Read more
fn try_cast_nearest(self) -> Result<T, Error>
fn try_cast_nearest(self) -> Result<T, Error>
Try converting to the nearest integer Read more
fn try_cast_floor(self) -> Result<T, Error>
fn try_cast_floor(self) -> Result<T, Error>
Try converting the floor to an integer Read more
fn try_cast_ceil(self) -> Result<T, Error>
fn try_cast_ceil(self) -> Result<T, Error>
Try convert the ceiling to an integer Read more