[python] matplotlib: handle empty range histogram

This commit is contained in:
Émilie Feral
2020-03-27 17:46:14 +01:00
parent 1c714a6ee6
commit 1c4f43c665

View File

@@ -225,11 +225,17 @@ mp_obj_t modpyplot_hist(size_t n_args, const mp_obj_t *args) {
if (n_args >= 2) {
nBins = mp_obj_get_int(args[1]);
}
mp_float_t binWidth = (max-min)/nBins;
// Create a array of bins
edgeItems = m_new(mp_obj_t, nBins + 1);
// Handle empty range case
if (max - min <= FLT_EPSILON) {
binWidth = 1.0;
nBins = 1;
}
// Fill the bin edges list
mp_float_t binWidth = (max-min)/nBins;
for (int i = 0; i < nBins+1; i++) {
edgeItems[i] = mp_obj_new_float(min+i*binWidth);
}