【问题标题】:Using an Array in ASP.net Graph [closed]在 ASP.net 图表中使用数组 [关闭]
【发布时间】:2015-08-20 16:02:41
【问题描述】:

我必须对从数据库中提取的数据进行一些计算。我现在有一个包含 24 个数据点的 Double Array。有没有办法将此信息绘制到我网站中的现有图表上?

using System;
using System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.DataVisualization.Charting;
using System.Web.UI.WebControls;

public partial class _Default : Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //Get data for limits
        DataView avgLim = avgLimits.Select(DataSourceSelectArguments.Empty) as DataView;
        DataTable averageLim = avgLim.ToTable();

        //Add data for single fill parts
        DataView dv = noDamper.Select(DataSourceSelectArguments.Empty) as DataView;
        DataTable singleDT = dv.ToTable();


        //Add data for Dampered Parts
        DataView dv1 = Damper.Select(DataSourceSelectArguments.Empty) as DataView;
        DataTable damperDT = dv1.ToTable();
        damperData.Series.Add("damperData");

        //Moving Average starts here
        //Calc moving data
        Double[] singleMovData = new Double[24];
        Double[] damperMovData = new Double[24];

        //GET DATA TO Column
        Double[] tempSingle = new Double[25];
        Double[] tempDamper = new Double[25];

        int j =0;
        foreach (DataRow row in singleDT.Rows)
            tempSingle[j++] = Convert.ToInt32(row[2]);//Convert.ToDouble(row[3]);
        j =0;
        foreach(DataRow row in damperDT.Rows)
            tempDamper[j++] = Convert.ToInt32(row[2]);

        for (int i = 0; i <= 23; i++)
        {
            singleMovData[i] = Math.Abs(Convert.ToDouble(tempSingle[i]) - Convert.ToDouble(tempSingle[i+1]));
            damperMovData[i] = Math.Abs(Convert.ToDouble(tempDamper[i]) - Convert.ToDouble(tempDamper[i + 1]));

        }

        //singleFillMoving.Series.Add("singleMov");
        //singleFillMoving.Series["singleMov"].ChartType = SeriesChartType.Line;
        singleFillMoving.DataSource = singleMovData;
        //singleFillMoving.Series.Add(singleMovData);
        singleFillMoving.DataBind();

        damperFillMoving.Series.Add("damperData");
        damperFillMoving.Series["damperData"].ChartType = SeriesChartType.Line;
        //damperFillMoving.Series["damperData"].XValueMember = "CONTAINER_ID";
        //damperFillMoving.Series["damperData"].YValueMembers = "DIFFERENCE";
        damperFillMoving.DataSource = damperMovData;
        damperFillMoving.DataBind();  

    }
}

【问题讨论】:

  • 阅读你的问题并问自己,如果有人问你到底有什么问题,你能回答这个问题吗?信息如此之少
  • @Izzy 不确定您还需要知道什么。我有一个数组。它是 Double 类型。我需要把它放在一个已经存在并有数据的图表中。我只想知道如何获取数组中的数据并绘制它。
  • 你有什么类型的图表,它在什么环境下运行,到目前为止你尝试了什么,你遇到了什么错误......所有这些都会帮助我们回答你。就目前而言,看起来您希望我们做您的工作,而您甚至想都没想!
  • @GarrettRietveld 首先,我们需要知道您使用的是什么图表库。那里有成千上万个,每个都有自己的加载数据的方式。我们不知道您是使用服务器端库还是客户端库来生成图表。再次问问自己,如果你看到有人问这个问题,你是否有足够的信息知道从哪里开始回答?
  • @mason 它是 ASP 中的默认图表库。我没有使用什么特别的东西。我是 ASP 新手,并且在此应用程序方面取得了很大进展,但我一直在努力弄清楚如何绘制这些值。

标签: c# asp.net asp.net-charts


【解决方案1】:
singleFillMoving.Series["singleMov"].Points.DataBindY(singleMovData);

这就是我需要的那行代码。只需要挖得够深。

【讨论】:

    猜你喜欢
    • 2016-04-07
    • 1970-01-01
    • 2013-11-26
    • 1970-01-01
    • 2010-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多