【发布时间】:2014-07-23 16:23:24
【问题描述】:
我已经以编程方式构建了一个图表,但我现在要做的是格式化 X 轴,以便每个点代表一天中的一个时间,采用 24 小时格式。
我想从“04:00:00”开始计时,一直到“16:00:00”,间隔 15 分钟 - 我需要在 X 轴上绘制 40 个点。不要担心 Y 轴值。我知道我想做什么来使用数据库填充这些值。
这是我到目前为止已经开始的(如下所示),但我还无法想象如何使用 for 循环来使这项工作成为可能。
有人能告诉我如何实现这个目标吗?
//for (int i = 0; i < 41; i++)
//{
Chart1.Series[0].Points.AddXY("04:00:00", 5);
Chart1.Series[0].Points.AddXY("04:15:00", 10);
Chart1.Series[0].Points.AddXY("04:30:00", 15);
Chart1.Series[0].Points.AddXY("04:45:00", 25);
...
...
...
Chart1.Series[0].Points.AddXY("16:00:00", 25);
//}
这是我的完整代码:仅供参考。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.DataVisualization.Charting;
namespace DishMES
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
buildRepairedChart();
}
public void buildRepairedChart()
{
//CREATE CHART
Chart1.Height = Unit.Pixel(200);
Chart1.Width = Unit.Pixel(900);
//DEFINE CHART AREA
ChartArea chartArea = new ChartArea();
Chart1.ChartAreas.Add(chartArea);
ChartArea3DStyle areaStyle = new ChartArea3DStyle(chartArea);
areaStyle.Rotation = 0;
Axis yAxis = new Axis(chartArea, AxisName.Y);
Axis xAxis = new Axis(chartArea, AxisName.X);
var ca = Chart1.ChartAreas[0];
ca.AxisX.LabelStyle.Format = "hh:mm:ss";
ca.AxisX.Minimum = 0;
ca.AxisX.Interval = 1;
// BUILD CHART SERIES
Series series = new Series("Default");
Chart1.Series.Add(series);
var s = Chart1.Series[0];
s.ToolTip = "#VALX{t}";
s.XValueType = ChartValueType.Time;
//TIME STUFF
// BIND DATA TO CHART
//for (int i = 0; i < 41; i++)
//{
Chart1.Series[0].Points.AddXY("04:00:00", 5);
Chart1.Series[0].Points.AddXY("04:15:00", 10);
Chart1.Series[0].Points.AddXY("04:30:00", 15);
Chart1.Series[0].Points.AddXY("04:45:00", 25);
//}
Chart1.DataBind();
}
}
}
【问题讨论】:
标签: c# asp.net for-loop charts