日期:2014-05-17  浏览次数:20662 次

求高人解决C#中MSChart的用法
最近做一个数据检测的图表,用来MSChart
我想实现X轴按数据真实时间来打点,X轴按Time类型来描点,能精确描述两个数据时间点之间的距离,
虽然我现在用的数据中的时间将点描上去,但是X轴并没有按数据时间打点,而只是将数据依次描在图上,没有体现出时间间隔。
我调试了,X轴并没有按具体时间打点。
因为不是实时数据,数据之间有间隔,所有在打点的时候,X轴上需要体现出时间间隔。当长时间没有数据时,这段时间没有数据点。
不知道有没有人做过这个。如果有,指点一下。非常感谢。

------解决方案--------------------
应该可以吧,
我下面有一个例子
前台:
<asp:Chart ID="chartLine" runat="server" >
<Series>
<asp:Series Name="Series1" ChartType="Line" >
</asp:Series>
</Series>
<ChartAreas>
<asp:ChartArea Name="ChartArea1">
</asp:ChartArea>
</ChartAreas>
</asp:Chart>
后台中:
chartLine.Titles.Add(string.Format("{0}年趋势图", DateTime.Now.Year.ToString()));
chartLine.ChartAreas[0].Position.Auto = false;
chartLine.ChartAreas[0].Position.Y = 10;
chartLine.ChartAreas[0].Position.Width = 100;
chartLine.ChartAreas[0].Position.Height = 64;

chartLine.ChartAreas[0].AxisX.LabelAutoFitStyle = LabelAutoFitStyles.WordWrap;
chartLine.ChartAreas[0].AxisX.Title = "月份";
chartLine.ChartAreas[0].AxisY.Title = "数目";
chartLine.ChartAreas[0].AxisX.Interval = 1;
chartLine.Series[0].IsValueShownAsLabel = true;
chartLine.Series[0].MarkerStyle = MarkerStyle.Circle;

DataTable dtLine = Ora.GetLine();
chartLine.DataSource = dtLine;
chartLine.Series[0].XValueMember = "MonthName";
chartLine.Series[0].YValueMembers = "Num";
chartLine.DataBind();