56 auto result = min_max;
57 if( std::isfinite( parameters.
min_value )) {
60 if( std::isfinite( parameters.
max_value )) {
66 template<
class ColorNorm>
77 auto norm = ColorNorm( min_max.min, min_max.max );
80 for(
size_t row = 0; row < values.
rows(); ++row ) {
81 for(
size_t col = 0; col < values.
cols(); ++col ) {
82 result( row, col ) = parameters.
color_map( norm, values( row, col ));
88 template<
class ColorNorm>
97 for(
size_t row = 0; row < values.
rows(); ++row ) {
101 auto norm = ColorNorm( min_max.min, min_max.max );
103 for(
size_t col = 0; col < values.
cols(); ++col ) {
104 result( row, col ) = parameters.
color_map( norm, values( row, col ));
110 template<
class ColorNorm>
122 for(
size_t col = 0; col < values.
cols(); ++col ) {
126 auto norm = ColorNorm( min_max.min, min_max.max );
128 for(
size_t row = 0; row < values.
rows(); ++row ) {
129 result( row, col ) = parameters.
color_map( norm, values( row, col ));
135 template<
class ColorNorm>
142 return heat_map_matrix_range_all_<ColorNorm>( values, parameters );
145 return heat_map_matrix_range_row_<ColorNorm>( values, parameters );
148 return heat_map_matrix_range_col_<ColorNorm>( values, parameters );
151 throw std::invalid_argument(
"heat_map_matrix_range_(): Invalid NormalizationRange" );
164 throw std::invalid_argument(
165 "Can only make ColorNormalization for heat map with whole matrix value normalization."
177 return utils::make_unique<ColorNormalizationLinear>( min_max.min, min_max.max );
180 return utils::make_unique<ColorNormalizationLogarithmic>( min_max.min, min_max.max );
183 return utils::make_unique<ColorNormalizationDiverging>( min_max.min, min_max.max );
186 throw std::invalid_argument(
"make_heatmap_color_norm(): Invalid HeatmapParameters::ColorNorm" );
195 return heat_map_matrix_range_<ColorNormalizationLinear>( values, parameters );
198 return heat_map_matrix_range_<ColorNormalizationLogarithmic>( values, parameters );
201 return heat_map_matrix_range_<ColorNormalizationDiverging>( values, parameters );
204 throw std::invalid_argument(
"make_heatmap_matrix(): Invalid HeatmapParameters::ColorNorm" );