ASP.NET图表 - Y值不从0开始

问题描述:

我正在使用从DataTable创建的asp.net中的图表。基本上,我有一个数据表是这样的:ASP.NET图表 - Y值不从0开始

enter image description here

所以,我想在我的图表是每个differente位置一列,并为每个diferent型我想有一个的“部分”列,这意味着我希望每个地点都有一个专栏。

我已成功地做这样的事情,但并不完全,我想什么:

enter image description here

现在,我会尽力解释我的代码。

首先,我在数据表后,对每个不同的位置,我选择了行添加不同的地点串

string loc = ""; 
for (int i = 0; i < dtTipos.Rows.Count; i++) 
{ 
    if (loc != dtTipos.Rows[i]["Location"].ToString()) 
     listaLocais.Add(dtTipos.Rows[i]["Location"].ToString()); 

    loc = dtTipos.Rows[i]["Location"].ToString(); 
} 

的列表中相应的位置,并创造了一系列针对他们每个人。我继续创建与Y = 0和一个一个点与Y =总

for (int i = 0; i < listaLocais.Count; i++) 
{ 
    DataRow[] lRow = dtTipos.Select("Location = '" + listaLocais[i] + "'"); 
    foreach (DataRow dr in lRow) 
    { 
     string serie = dr["Location"].ToString().Substring(0, 2) + "_" + dr["Type"].ToString() + " - " + dr["Total"].ToString(); 
     Series s = new Series(); 
     s.Name = serie; 
     s.Label = dr["Location"].ToString(); 
     s.ChartType = SeriesChartType.StackedColumn; 
     chartTipo1.Series.Add(s); 

     s.Points.AddXY(i + 1, 0); 
     s.Points[0].Label = " "; 
     s.Points.AddXY(i + 1,Convert.ToInt32(dr["Total"].ToString())); 
     s.Points[1].Label = " ";// dtTipos.Rows[i]["Total"].ToString(); 
    } 
} 

的事情是:我想是因为我创造的每一行系列,每次我用diferent列,y轴开始从我离开的地方。

有没有什么办法可以让这个工作? 我会感谢任何帮助。

您将在同一个循环中添加您的系列和数据点。首先添加您的系列,那么你的数据点:

public partial class WebForm1 : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     DataTable dt = new MyDataTable(); 

     //first add your series 
     foreach (DataRow row in dt.DefaultView.ToTable(true, new string[] { "Type" }).Rows) 
     { 
      Series series = new Series(); 
      series.Name = (string)row["Type"]; 
      series.ChartType = SeriesChartType.StackedColumn; 
      Chart1.Series.Add(series); 
     } 

     // then add your points; 
     foreach (DataRow row in dt.Rows) 
      Chart1.Series[(string)row["Type"]].Points.AddXY(row["Location"], new object[] { row["Total"] }); 
    } 
} 

enter image description here

+0

我不能相信这是这么简单。但是,现在又遇到了另一个问题。并非所有地点都出现在图表中(我有6个地点,但只有4个出现)。这是否由于在遗漏位置重复某些类型而引起的? –

+0

为了给你一个明确的答案,你必须发布[MCVE](http://stackoverflow.com/help/mcve),以便人们可以重现你的具体问题。如果我的帖子解决了您当前的问题,请记住将其标记为已接受,然后发布新问题与您的新问题,但请确保您知道如何按照上面的链接中所述提出正确的问题。 – jsanalytics

+0

我很难将信息放在正确的列中,它不断混淆 - 错误的值将会出现在错误的位置。 我应该为此提出另一个问题或编辑此问题? –