I'd forgotten that you're using histograms, not time series. I have to think a bit more deeply about how to this "right", but here's what I've got so far.
The general process is as follows. Every timestep MASON decides whether to call your method to gather some data. Let's call that GATHERING. THEN it decides whether to add it to a current temporary collection of data. Let's call that ADDING. THEN when redrawing, it'll dump this temporary collection of data into the chart and redraw, then clear the collection. Let's call that REDRAWING.
If you're doing a time series, you're presented with the options:
Add Data every [...] timesteps
Using [Current/Min/Max/Mean]
Redraw [...]
If you're doing anything else, you're presented with the options:
Add Data every [...] timesteps
Redraw [...]
1. IF you're doing a time series, AND you're using "Current", then GATHERING only happens when your're ADDING. Otherwise, GATHERING happens every single timestep because it has to build a min/max/mean value over all the timesteps.
2. IF you're not doing a timeseries, then GATHERING only happens when you're ADDING.
So in your case you can do something like "Add Data every 1000 timesteps" and "Redraw when adding data", or whatnot, and you'll get what you're looking for.
The right way to do this is to separate out these three steps -- but I'm concerned that this will be too confusing in the name of features/gizmos.
The other right way to do this is to only do GATHERING and ADDING when you're doing REDRAWING in the case of non-timeseries. That's slightly nontrivial to code up so I'll have to think more about it. But at least this should work for the moment.
Sean