This project is read-only.

Locking multiple charts together

Jul 23, 2010 at 3:13 PM

Hi everyone,

I have a project where we have many diagnostic signals that need to be graphed. The number of charts and which graphs are on each chart is not known before the program is run, the user can add/remove charts and graphs at will. Now, the easy way would be to just have all graphs on the same chart, but because there are more than 100 signals and many of them are digital signals which overlap heavily, they need to be separated.

The charts each have draggable "cursors" that display their x coordinate and the distance between them. I used a modified CursorCoordinateGraph to do this.

Here is a screen shot of the existing setup. These graphs are in a ListBox that intercepts and handles the mouse events while the graphs are locked together so that they wont zoom/pan independently. The issue with that is that the draggable cursors I have won't work then either and it's kind of a messy solution.

So, I need a way to have all of the graphs aligned for the x-axis and the cursors should also be the same across all charts.

I guess my question is: Is there a built in way to sync the charts to view the same area or a better way to do this? I could just put each graph above the previous one, but I need the y-value to be correct for each graph so that isn't really acceptable.



Jul 23, 2010 at 4:37 PM

After some searching I found some other discussions related to this. Disregard this discussion unless someone has any tips! Thanks!

Jul 26, 2010 at 5:56 PM

Hi aklein,


I guess we are working on similar problem space. I have several graphs and the user has a list of series that he wants to plot. He is going to drag the series at run time. Can you point me to the discussion that you found. I am a new user to this lib. Its a Lib and I am just trying to get my head around the lib to see how I can customize the lib.

If you have any questions in the context that you are working on I may be able to help you find answers too. 

Jul 26, 2010 at 9:34 PM

The following discussions may be relevant:


Jul 29, 2010 at 1:37 PM

Synch Multiple Charts is another relevant discussion.

For my specific application, I just bind the viewport of a new chart to the viewport of the previous one. It's pretty easy. The only issue I had is that, when adding a new graph to a chart, you need to make sure all the graphs are visible. .FitToView() does not work for this because it unbinds the charts. Also, if any of the graphs are differently sized from others, they could be cut off when their chart is bound to another, smaller chart.