繁体   English   中英

ZedGraph-如何将X轴从点更改为时间?

[英]ZedGraph - How to change X-axis from points to time?

我有一个工作的DLL,其中有一个函数可以将数组添加到列表中,而另一个函数可以在ZED-Graph-diagram中显示所有列表数组。 所有阵列的大小均相同。 当前,x轴以0到1024的点表示。问题是:要更改时间以显示x轴,我必须更改什么?

我具有可以传递给函数的值“ Intervall”(两点之间的时间)。

谢谢您的帮助。

这是我到目前为止所拥有的:

public void AddGraph(double[] Values, string LegendName)
{
    int i = 0;
    PointPairList list = new PointPairList();
    for (i = 0; i < Values.Length; i++)
    {
        list.Add(i, Values[i]);
    }

    if (i > MaxXAxis)
        MaxXAxis = i;

    SList.Add(list);
    SListColor.Add(Color.Black);
    SListName.Add(LegendName);
}

public void ShowDiagram(string Title, string XAxisName, string YAxisName, int Timeout_ms)
{     
    ZedGraph.ZedGraphControl zgc = new ZedGraphControl();
    GraphPane myPane = zgc.GraphPane;
    LineItem myCurve = null;


    // Set the titles and axis labels
    myPane.Title.Text = Title;
    myPane.XAxis.Title.Text = XAxisName;
    myPane.YAxis.Title.Text = YAxisName;

    for (int i = 0; i < SList.Count(); i++)
    {
        myCurve = myPane.AddCurve(SListName[i], SList[i], SListColor[i], SymbolType.None);
        myCurve.Line.Width = 2;
    }

    // Add gridlines to the plot, and make them gray
    myPane.XAxis.MinorGrid.IsVisible = true;
    myPane.YAxis.MinorGrid.IsVisible = true;
    myPane.XAxis.MinorGrid.Color = Color.LightGray;
    myPane.YAxis.MinorGrid.Color = Color.LightGray;
    myPane.XAxis.MinorGrid.DashOff = 0;
    myPane.YAxis.MinorGrid.DashOff = 0;

    myPane.XAxis.MajorGrid.IsVisible = true;
    myPane.YAxis.MajorGrid.IsVisible = true;
    myPane.XAxis.MajorGrid.Color = Color.Gray;
    myPane.YAxis.MajorGrid.Color = Color.Gray;
    myPane.XAxis.MajorGrid.DashOff = 0;
    myPane.YAxis.MajorGrid.DashOff = 0;

    // Move Legend to buttom
    myPane.Legend.Position = LegendPos.Bottom;

    zgc.AxisChange();

    myPane.XAxis.Scale.Max = MaxXAxis;

    zgc.Location = new Point(0, 0);
    zgc.Size = new Size(panel_diagramm.ClientRectangle.Width, panel_diagramm.ClientRectangle.Height);

    panel_diagramm.Controls.Add(zgc);             
}

这是我第一次发布,因此对未将其放置在更好的格式表示歉意。 以下内容使您可以设置x轴以显示时间:

myPane.XAxis.Type = AxisType.Date;
myPane.XAxis.Title.Text = "Time (HH:MM:SS)";
myPane.XAxis.Scale.Format = "HH:mm:ss";
myPane.XAxis.Scale.MajorUnit = DateUnit.Minute;
myPane.XAxis.Scale.MinorUnit = DateUnit.Minute;
myPane.XAxis.Scale.Min = DateTime.Now.Subtract(new TimeSpan(0, 0, 10, 0, 0).ToOADate();
myPane.XAxis.Scale.Max = DateTime.Now.ToOADate();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM