/Main/src/DynamicDataDisplay/TimeChartPlotter.cs

# · C# · 38 lines · 31 code · 7 blank · 0 comment · 4 complexity · 4a5fff2f7854f94c2cf76dd66384fda2 MD5 · raw file

  1. using System;
  2. using Microsoft.Research.DynamicDataDisplay;
  3. using System.Windows;
  4. using Microsoft.Research.DynamicDataDisplay.Navigation;
  5. using Microsoft.Research.DynamicDataDisplay.Common;
  6. using System.Windows.Controls;
  7. using Microsoft.Research.DynamicDataDisplay.Charts;
  8. namespace Microsoft.Research.DynamicDataDisplay
  9. {
  10. public class TimeChartPlotter : ChartPlotter
  11. {
  12. public TimeChartPlotter()
  13. {
  14. MainHorizontalAxis = new HorizontalDateTimeAxis();
  15. }
  16. public void SetHorizontalAxisMapping(Func<double, DateTime> fromDouble, Func<DateTime, double> toDouble)
  17. {
  18. if (fromDouble == null)
  19. throw new ArgumentNullException("fromDouble");
  20. if (toDouble == null)
  21. throw new ArgumentNullException("toDouble");
  22. HorizontalDateTimeAxis axis = (HorizontalDateTimeAxis)MainHorizontalAxis;
  23. axis.ConvertFromDouble = fromDouble;
  24. axis.ConvertToDouble = toDouble;
  25. }
  26. public void SetHorizontalAxisMapping(double min, DateTime minDate, double max, DateTime maxDate) {
  27. HorizontalDateTimeAxis axis = (HorizontalDateTimeAxis)MainHorizontalAxis;
  28. axis.SetConversion(min, minDate, max, maxDate);
  29. }
  30. }
  31. }