use different value formatter for datapoints

Can this be DRYed up with inheritance?