您需要设置 x 轴属性为
myPane.XAxis.Title.Text = "Date";
myPane.XAxis.Type = AxisType.Date;
myPane.XAxis.Scale.Format = "dd-MMM-yy";
myPane.XAxis.Scale.MajorUnit = DateUnit.Day;
myPane.XAxis.Scale.MajorStep = 1;
myPane.XAxis.Scale.Min = new XDate(DateTime.Now.AddDays(8));
myPane.XAxis.Scale.Max = new XDate(DateTime.Now.AddDays(11));
那会给您提供所请求的日期;如果要从今天开始倒数,可以在AddDays方法中放置减号,并且还可以专门设置日期(只需查看开始键入时的自动完成)。
希望这有所帮助!祝你好运!
编辑:
因此,以下是我可以想出来获取那些自定义刻度的方法:
您必须使用TextObj标签。您还必须摆脱原始刻度:
pane1.MasterPane[0].XAxis.Scale.IsVisible = false;
pane1.MasterPane[0].XAxis.MajorTic.IsAllTics = false;
foreach (double val in x_values)
{
TextObj text = new TextObj(val.ToString(), pane1.MasterPane[0].YAxis.Scale.Min, val);
text.Location.AlignH = AlignH.Right;
text.FontSpec.Border.IsVisible = false;
text.FontSpec.Fill.IsVisible = false;
pane1.MasterPane[0].GraphObjList.Add("Mar10");
LineObj line = new LineObj(pane1.MasterPane[0].YAxis.Scale.Min, val, pane1.MasterPane[0].YAxis.Scale.Max, val);
line.Line.Style = System.Drawing.Drawing2D.DashStyle.Dash;
line.Line.Width = 1f;
pane1.MasterPane[0].GraphObjList.Add(line);
}
我从
这篇帖子修改了这个代码,我认为它与你的问题相似,只是针对的是
Y轴
。这是一种不太正式的方法,你需要手动添加每一个标签。实际上,你不需要用
foreach
循环,我只是因为复制了其他帖子的代码,所以加入了它。希望这能起到作用!
DateTime day = new DateTime( 2012, 1, 1 );
。 - tmwoodsmyPane.XAxis.Type = AxisType.DateAsOrdinal
并使用自定义标签吗?可以参考这里。另外,你可能需要设置Scale.Format = "MM-yy"
看看是否有效。我自己从未尝试过。 - tmwoods