This project is read-only.

Animation and Independent Y-Axis

Jul 30, 2009 at 12:51 PM

Hi D3 guys,

I need to have a chart with multiple lines and update them every 100ms (like AnimationSample), each line have it own vertical axis (with different yMin and yMax, like TwoAxisSample).

I have used a chart with many InjectedPlotter(with a vertical axis) and I have added one line for each InjectedPlotter. Every 100ms I call RaiseDataChanged() on associated data source.

All work fine! Thanks!.

Note: All lines have the same x values

My questions are:

Which is the best way to have my chart? Is my approach correct?
Is it possible to have a CursoCoordinate for all lines?

thanks a lot!


Jul 31, 2009 at 9:41 AM

Hi Giancarlo,

Your approach is right, InjectedPlotter class and TwoAxisSample were create certaily for such cases.

What do you mean asking if it is possible to have a CursorCoordinateGraph for all lines? A picture cal help me)

Maybe you are speaking about something like you can see in Source Code page/Latest Changeset/Nightly/.../DynamicDataDisplay.sln/LineTestSample (try to press a button on the top)?


By the way, if you created something interesting using D3, you can share a screenshot of this, for example, mailing me to


Best regards,




Jul 31, 2009 at 1:15 PM

Hi Mikhail,

Thanks for your answers.....

I'll send to you some screenshots of my application (as you can see on the images, I have 8 Lines on 3 Charts that are updated every 30ms!!!! Note: this application runs perfectly on a notebook Pentium M 1.73 GHz, 1.5GB Ram and 128MB GPU).

About the second question, in the LineTestSample all lines are on the same Viewport.Visible, in my chart every lines are on its InjectedPlotter (i.e: if I have 3 lines I have 3 InjectedPlotter also). To solve my problem I have added for each  InjectedPlotter a CursoCoordinate, but to show the y value for all Y-Axis I have modified the source file "CursorCoordinateGraph.xaml.cs" and I have added a public property to change de Vector object, so I can change the position for each box. (see the screenshot).

Thanks again for your work.