I'm trying to do the very simple/standard task of presenting points (and then polygons created from them) as a graduated colour style, however many points are missing, evinced from the lowest number being higher than numbers I know to exist in the source data csv. I've checked and the csv field is read in as double so that's not the issue. In the original there are 857 rows; when graduated there are about 24. Same in V3.0.2 & 2.18.20. Same (with different lower bounds) for 2 csv files. Running colour conditional formatting on that column/field in excel works fine, data are distributed around well. You can see that compared with single symbol (red, all points), graduated has hardly any.
When reopening the project in v2.19.20 the range is initially messed up, but can be re-run to make it work, but the contracted range problem remains.
What is causing this?
I don't think I'm doing anything differently to usual - this feels like a weird bug.