分享

MsChart<5> 累计柱状图 分类统计

 行走在理想边缘 2019-03-01

先上图,最终效果图如下: 统计某一项的结果,而结果又分为三个等级,要分别统计.



-------------------------------------HTML---------------------------------------------------


HTML



后台代码: 其中注释掉的部分是自定义随机数据生成这个图形。 MsChart官网有提供例子。











其中,下面这句代码是去掉值为零的情况。有时候太多的零值影响视觉效果,很丑。
if (dt1.Rows[i][j].ToString() == "0")
{
     dt1.Rows[i][j] = DBNull.Value;
}





----------------------------------Source Code----------------------------------------------




复制代码

        private void BindChart()
{
ResultBLL resultBLL = new ResultBLL();
DataTable dt1 = new DataTable();
dt1 = resultBLL.GetNumRank(9);

// Populate series data
//Random random = new Random();
//for (int pointIndex = 0; pointIndex < 10; pointIndex++)
//{
// Chart1.Series["Series1"].Points.AddY(Math.Round((double)random.Next(0, 95), 0));
// Chart1.Series["Series2"].Points.AddY(Math.Round((double)random.Next(0, 75), 0));
// Chart1.Series["Series3"].Points.AddY(Math.Round((double)random.Next(0, 95), 0));
//}

if (dt1.Rows.Count > 0)
{
for (int i = 0; i < dt1.Rows.Count; i++)
{
for (int j = 0; j < dt1.Columns.Count; j++)
{
if (dt1.Rows[i][j].ToString() == "0")
{
dt1.Rows[i][j] = DBNull.Value;
}
}
//Chart1.Series["Series1"].Points.AddXY(dt1.Rows[i]["Category"].ToString(), dt1.Rows[i]["A"].ToString());
//Chart1.Series["Series2"].Points.AddXY(dt1.Rows[i]["Category"].ToString(), dt1.Rows[i]["B"].ToString());
//Chart1.Series["Series3"].Points.AddXY(dt1.Rows[i]["Category"].ToString(), dt1.Rows[i]["C"].ToString());
Chart1.Series["Series1"].Points.DataBind(dt1.DefaultView, "Category", "A", "LegendText=Category,YValues=A,ToolTip=A");
Chart1.Series["Series2"].Points.DataBind(dt1.DefaultView, "Category", "B", "LegendText=Category,YValues=B,ToolTip=B");
Chart1.Series["Series3"].Points.DataBind(dt1.DefaultView, "Category", "C", "LegendText=Category,YValues=C,ToolTip=C");
}



Chart1.Series["Series1"].ChartType = (SeriesChartType)Enum.Parse(typeof(SeriesChartType), "StackedColumn", true);
Chart1.Series["Series2"].ChartType = (SeriesChartType)Enum.Parse(typeof(SeriesChartType), "StackedColumn", true);
Chart1.Series["Series3"].ChartType = (SeriesChartType)Enum.Parse(typeof(SeriesChartType), "StackedColumn", true);

Chart1.Series["Series1"].IsValueShownAsLabel = true;
Chart1.Series["Series2"].IsValueShownAsLabel = true;
Chart1.Series["Series3"].IsValueShownAsLabel = true;

Chart1.Series["Series1"].Name = "Rank A";
Chart1.Series["Series2"].Name = "Rank B";
Chart1.Series["Series3"].Name = "Rank C";

Chart1.ChartAreas["ChartArea1"].Area3DStyle.Enable3D = false;

foreach (Series series in Chart1.Series)
{
series["StackedGroupName"] = "";
}

Chart1.ResetAutoValues();
}
}

#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{

}
#endregion

复制代码


 随机数据生成的图表:


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约