The DataTable class is definitely not light-weight. But it is easy to configure and I use it a lot for database manipulation. Hence I grabbed what I knew worked and presented it as solution for setting a datasource.
However, for your application, it is not the best choice.
I have done a little research and you can bind to an array, however this "Binding" is a one time event that creates the DataPointCollection. Are far as I can discern, after this intialization, there is no link back to the source data. :(
I still want to create a class that implements the INotifyPropertyChange interface and see that would work.
Since your application will be updating the Y-Values, it is probably best to create the datapoints your self once, and then update their values. This does work.
I want to put names on each column, visible under the X-axix. Now they are simply numbered.
You are currently using the "Label" property; this is typically used to show the value. To place the column label on the X-Axis, use the DataPoint.AxisLable property.