Setting Display Date Range for NRangeTimelineScaleConfigurator?


https://www.nevron.com/Forum/Topic14344.aspx
Print Topic | Close Window

By - 2 Years Ago
I am using a NRangeTimelineScaleConfigurator object to configure the X axis of a chart. I am plotting data that is dated from 1976 through 2007. When I plot OHLC data with this data set, the X axis is correctly set to the date range of my data set -- 1976 to 2007. However, when I plot an Area chart or a Line chart with this same data set, the display of the X axis starts at the year 1900.

How do I tell the X axis to start at a given year (1976, in my case) when plotting an Area or Line chart?


  /// <summary>
   /// Set up the X axis chart a Cartesian chart.
   /// </summary>
   /// <param name="chart">
   /// The Cartesian chart for which its X axis should be set up.
   /// </param>
   public void SetUpXAxis(NCartesianChart chart)
   {
    var xAxisConfigurator = new NRangeTimelineScaleConfigurator();
    xAxisConfigurator.FirstRow.GridStyle.ShowAtWalls = new ChartWallType[] { ChartWallType.Back };
    xAxisConfigurator.FirstRow.GridStyle.LineStyle = new NStrokeStyle(1, Color.FromArgb(225, 225, 225));
    xAxisConfigurator.FirstRow.UseGridStyle = true;
    xAxisConfigurator.SecondRow.GridStyle.ShowAtWalls = new ChartWallType[] { ChartWallType.Back };
    xAxisConfigurator.SecondRow.GridStyle.LineStyle = new NStrokeStyle(1, Color.FromArgb(215, 215, 215));
    xAxisConfigurator.SecondRow.UseGridStyle = true;
    xAxisConfigurator.ThirdRow.GridStyle.ShowAtWalls = new ChartWallType[] { ChartWallType.Back };
    xAxisConfigurator.ThirdRow.GridStyle.LineStyle = new NStrokeStyle(1, Color.FromArgb(205, 205, 205));
    xAxisConfigurator.ThirdRow.UseGridStyle = true;
    xAxisConfigurator.AutoDateTimeUnits = new NDateTimeUnit[]
    {
      NDateTimeUnit.Century,
      NDateTimeUnit.Decade,
      NDateTimeUnit.Year,
      NDateTimeUnit.Quarter,
      NDateTimeUnit.Month,
      NDateTimeUnit.Week,
      NDateTimeUnit.Day
    };
    xAxisConfigurator.EnableCalendar = true;
    chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator = xAxisConfigurator;

    chart.Axis(StandardAxis.PrimaryX).ScrollBar.ResetButton.Visible = false;
    chart.Axis(StandardAxis.PrimaryX).PagingView = new NNumericAxisPagingView(new NRange1DD(0, 20));
    chart.Axis(StandardAxis.PrimaryX).ScrollBar.Visible = true;
   }


By Nevron Support - 2 Years Ago
Hi,

Most likely the series Area/Line series is not configured to use X values - that's why they start from 0 value which corresponds to 1990 in the date-time format. To configure the series to use X values you can use:
someSeries.UseXValues = true;

then you need to provide the x values as well:
someSeries.XValues.Add(someDateTime.ToOADate());

We hope this helps - let us know if you have any questions.
By - 2 Years Ago
Yes, it works now. I forgot to tell the area series to use the X values. Everything is now as expected. Thank you!