适合图表区域中的所有图例

时间:2018-08-09 15:49:23

标签: asp.net

SQL Server中有一个表,该表有大约一百列。我在ASP.Net中有一个图表,该图表正在从数据库中检索数据并显示为折线图。 因此,每一列都显示为一条线,因此图表将包含大约一百条线。一切工作都很好,但是我面临的唯一问题是我无法将所有图例都放在一个图表区域中。就像我进一步拉伸图表一样,可以看到更多的图例,但我希望所有图例自动适合“图表区域”。下面是我尝试过的代码。

 SqlCommand cmd = new SqlCommand(storedProcedure, connection);   
 cmd.CommandType = CommandType.StoredProcedure;
 con.Open();        
 SqlDataAdapter da = new SqlDataAdapter(cmd);
 DataSet ds = new DataSet();
 da.Fill(ds);

int num = ds.Tables[0].Columns.Count - 1;
   for (int i = 1; i <= num; i++)
        {
            chart1.Series.Add(ds.Tables[0].Columns[i].ColumnName);

        chart1.Series[i].ChartArea = "ChartArea1";

        chart1.Series[i].YValueMembers = ds.Tables[0].Columns[i].ColumnName;
        chart1.Series[i].XValueMember = "Time";
        chart1.Series[i].ChartType = SeriesChartType.Line;

        chart1.Legends.Add(new Legend("Legend" + i.ToString()));
        chart1.Series[i].Legend = "Legend" + i.ToString();
        chart1.Series[i].IsVisibleInLegend = true;
        chart1.Legends["Legend" + i.ToString()].Docking = Docking.Right;
        chart1.Legends["Legend" + i.ToString()].DockedToChartArea = "ChartArea1";
    }

    chart1.DataSource = ds;
    chart1.DataBind();

    con.Close();

0 个答案:

没有答案