日期:2014-05-20  浏览次数:21010 次

MSChart如何自定义X轴坐标
MSChart如何自定义X轴坐标?我想设定固定的时间轴,如08:30,09:00,09:30,10:00,10:30....
MSChart生成的图像,X轴的数据自动填满了,时间点也不是整数,我想让它一点一点的增长,而且在Y轴多画几条横线做基准线,如何画?
是asp.net,不要vb的代码

------解决方案--------------------
当然可以:给你做了个效果:
前台:
<asp:Chart ID="YouChart" runat="server" Palette="None" Height="500px" 
Width="815px">
<Titles>
<asp:Title Name="MainTitles" Text="统计图表" Font="Microsoft Sans Serif, 16pt" TextStyle="Frame">
</asp:Title>
</Titles>
<Series>
<asp:Series Name="MainSeries" ChartArea="MainChartArea" ChartType="Line" IsValueShownAsLabel="True"
XValueType="String">
</asp:Series>
</Series>
<ChartAreas>
<asp:ChartArea Name="MainChartArea" ShadowColor="White">

</asp:ChartArea>
</ChartAreas>
</asp:Chart>
后台:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
YouChart.Series["MainSeries"].XValueMember = "time";
YouChart.Series["MainSeries"].YValueMembers = "count";

#region
//我没数据库,自己产生了一个DataTable,你当然可以绑定你的
DataTable dt = new DataTable();
dt.Columns.Add("time");
dt.Columns.Add("count");
Random ro = new Random(); 
DateTime time = Convert.ToDateTime("09:00");
object[] rowArray = new object[2];
for (int i = 0; i < 10; i++)
{
DataRow dr = dt.NewRow();
time = time.AddMinutes(30);
rowArray[0] = time.ToString("hh:mm") ;
rowArray[1] = ro.Next(30);
dr.ItemArray = rowArray;
dt.Rows.Add(dr);
}
#endregion
YouChart.DataSource = dt;
YouChart.DataBind();
}
}
可以看看效果,
最近也是用的比较多这个Mschart,有问题还可以联系我:qq:25004370
------解决方案--------------------
仔细看了一下,要达到3楼所示效果图,还遗漏了两句:
YouChart.ChartAreas["MainChartArea"].AxisX.MajorGrid.Interval = 1;
YouChart.ChartAreas["MainChartArea"].AxisX.LabelStyle.Interval = 1;