So for this i have implemented new graph which has support of ViewPortControl.
Everything worked as expected the only problem I have at the moment is that it does not seems to support partialUpdate which means when user changed one of the legend condition(Means user can check or uncheck legend) and partial updated the main chart. The same change won't be reflected on the ViewPortControl.
So my concern is if i will uncheck any legend than graph for this legend should be disappear from viewportcontrol.
On the server side, we need to add a line to check whether the request is for updating the chart in the WebChartViewer or the chart in the WebViewPortControl, and then return the chart accordingly.