When I first developed a few earlier graph types, I made specific named properties on the Graph model for storing numbers and their labels:
In newer graphs I realized I can just use the same storage fields to represent different parameters in different graph types, as our requirements grew. I called these properties a1, a2, a3, with the "a" signifying "arbitrary". Maybe this is not the best system, but it's the one we have for now, so it would be good to at least unify all graph types to use this system. This will make it easier to change or refactor things if we ever want to do that in the future.