Hello Vahid,
This is caused by the default axis scaling. You can use the following custom C# code:
using System;
using System.Drawing;
using Nevron.GraphicsCore;
using Nevron.Chart;
using Nevron.ReportingServices;
namespace MyNamespace
{
/// <summary>
/// Sample class
/// </summary>
public class MyClass
{
/// <summary>
/// Main entry point
/// </summary>
/// <param name="context"></param>
public static void RSMain(NRSChartCodeContext context)
{
NChart chart = context.document.Charts[0];
NDateTimeScaleConfigurator dateTimeScale = chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator as NDateTimeScaleConfigurator;
if (dateTimeScale != null)
{
bool hasMin = false;
DateTime minValue = new DateTime();
foreach (NSeriesBase series in chart.Series)
{
NXYScatterSeries xyScatter = series as NXYScatterSeries;
if (xyScatter != null && xyScatter.XValues.Count > 0)
{
DateTime curXValue = DateTime.FromOADate((double)xyScatter.XValues[0]);
if (hasMin)
{
minValue = minValue < curXValue ? minValue : curXValue;
}
else
{
hasMin = true;
minValue = curXValue;
}
}
}
if (hasMin)
{
dateTimeScale.UseOrigin = true;
dateTimeScale.Origin = new DateTime(minValue.Year, minValue.Month, 1, 0, 0, 0);
}
}
}
}
}