MSCHART 柱状图实例

来源:互联网 发布:7z linux解压命令 编辑:程序博客网 时间:2024/05/21 23:52

 一:前台代码

//页面引用

<%@ Register Assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

    Namespace="System.Web.UI.DataVisualization.Charting" TagPrefix="asp" %>  


<asp:Chart ID="Chart1" runat="server" ImageType="Jpeg">
            <Legends>
                <asp:Legend Name="Legend1" >
                </asp:Legend>
            </Legends>
            <Series>
                <asp:Series Name="Series1">
                </asp:Series>
                <asp:Series Name="Series2" >
                </asp:Series>
            </Series>
            <ChartAreas>
                <asp:ChartArea Name="ChartArea1">
                </asp:ChartArea>
            </ChartAreas>
            <Titles>
                <asp:Title Name="Title1">
                </asp:Title>
            </Titles>
        </asp:Chart>


二:后台代码

 //是否启用3D
        Chart1.ChartAreas["ChartArea1"].Area3DStyle.Enable3D = true;


        //设置图片高度,宽度
        Chart1.Height = 500;
        Chart1.Width = 1200;


        //title属性说明
        Chart1.Titles.Add("拱墅公安局各部门破案量");


        //边框样式设置
        Chart1.ChartAreas["ChartArea1"].BorderColor = Color.Black;
        Chart1.ChartAreas["ChartArea1"].BorderDashStyle = ChartDashStyle.Solid;
        Chart1.ChartAreas["ChartArea1"].BorderWidth = 2;




        //X轴数据
        ArrayList XTitle = new ArrayList();
        XTitle.Add("康桥");
        XTitle.Add("半山");
        XTitle.Add("祥符");
        XTitle.Add("上塘");
        XTitle.Add("米市巷");
        XTitle.Add("湖墅");
        XTitle.Add("小河");
        XTitle.Add("拱宸桥");
        XTitle.Add("和睦");
        XTitle.Add("大关");


        //Y轴数据(需确保X轴与Y轴的数据量相等)这里是第一根“柱子的数据”
        ArrayList[] ChartData = new ArrayList[1];


        ChartData[0] = new ArrayList();
        ChartData[0].Add(80);
        ChartData[0].Add(40);
        ChartData[0].Add(30);
        ChartData[0].Add(24);
        ChartData[0].Add(22);
        ChartData[0].Add(20);
        ChartData[0].Add(16);
        ChartData[0].Add(16);
        ChartData[0].Add(16);
        ChartData[0].Add(16);
        //为图表绑定数据
        Chart1.Series["Series1"].Points.DataBindXY(XTitle, ChartData);


        //Y轴数据(需确保X轴与Y轴的数据量相等)  这里是第二根“柱子的数据”
        ArrayList[] ChartData1 = new ArrayList[1];


        ChartData1[0] = new ArrayList();
        ChartData1[0].Add(160);
        ChartData1[0].Add(80);
        ChartData1[0].Add(60);
        ChartData1[0].Add(48);
        ChartData1[0].Add(44);
        ChartData1[0].Add(40);
        ChartData1[0].Add(32);
        ChartData1[0].Add(32);
        ChartData1[0].Add(32);
        ChartData1[0].Add(32);
        Chart1.Series["Series2"].Points.DataBindXY(XTitle, ChartData1);
      


        //设置每个柱形的文字标识  第一根“柱子”
        for (int i = 0; i < Chart1.Series["Series1"].Points.Count; i++)
        {
            Chart1.Series["Series1"].Points[i].Label = ChartData[0][i].ToString();
            Chart1.Series["Series1"].Points[i].ToolTip = "#VAL";
            Chart1.Series["Series1"].Points[i].LegendToolTip = "#VAL";
        }
        //第二根“柱子”
        for (int i = 0; i < Chart1.Series["Series2"].Points.Count; i++)
        {
            Chart1.Series["Series2"].Points[i].Label = ChartData[0][i].ToString();
            Chart1.Series["Series2"].Points[i].ToolTip = ChartData[0][i].ToString();
           
        }
        
        //设置图例说明
        Chart1.Series["Series1"].LegendText = "去年";
        Chart1.Series["Series2"].LegendText = "今年";


        //标识x,y轴
        Chart1.ChartAreas["ChartArea1"].AxisX.Title = "部门";
        Chart1.ChartAreas["ChartArea1"].AxisY.Title = "数量";
     


        //X轴数据显示间隔
        Chart1.ChartAreas["ChartArea1"].AxisX.Interval = 1.0;
        Chart1.ChartAreas["ChartArea1"].AxisY.Interval = 25.0;