I had a similar problem. I wanted to bring in new data and display it in place of the data that was already there. I was replacing the YValue[0] of existing Points. I could see, in the debugger, that the point data was being replaced, but the chart remained the same on the display. I found a Chart.Refresh() in the docs, but it wasn't in .NET 4.6.1. I found the Invalidate function in the object browser for Chart and to my surprise it worked! My code was like this:
chart2.Series[0].Points[ix].YValues[0] = newvalue;
chart2.Invalidate();
I was trying to update the chart as each new data point arrived. However, your case might be different and you can use Chart.Invalidate(); wherever it make the most sense.