首页 .NET/Web WebChart实现折线,柱状,扇形图--web chart控件

WebChart实现折线,柱状,扇形图--web chart控件

作者:胡同里的砖头 围观群众:1203 更新于:2013-12-19

//引用命名空间
using WebChart;

//定义一个颜色数组,供循环时为不同的记录填充不同的颜色
private string[] myColor = new string[]
...{
 "Tomato",//西红柿
 "Black",
 "Gold",
 "Blue",
 "Green",
 "Orange",
 "Pink",//粉红
 "Violet",//紫罗兰
 "Orchid",//淡紫色
 "Lime",//亮绿
 "Tan",//茶色
 "Red",
 "Navy"//橘红
};

//用静态方式示例了画出一条两个点的最简单折线.实际项目据此做循环而以.
private void doIt()
...{
 //创建折线对象
 LineChart myChart = new LineChart();
 //为折线填充颜色
 myChart.Line.Color = Color.FromName(myColor[0]);
 myChart.Fill.Color = Color.FromName(myColor[0]);
 myChart.LineMarker = new DiamondLineMarker(8, Color.FromName(myColor[0]), Color.FromName(myColor[0]));
 //图例说明
 myChart.Legend = "折线一";
 //添加第一个点,参数一为x座标上的名称,参数二为y座标上的值
 myChart.Data.Add(new ChartPoint("一", float.Parse("100")));
 //添加第二个点
 myChart.Data.Add(new ChartPoint("二", float.Parse("200")));
 //chart为控件ID
 this.chart.Charts.Add(myChart);
 this.chart.RedrawChart();
}

 

 

 

 

 

//颜色数组
private string[] myColor = new string[]
{
    "Fuchsia",
    "Black",
    "Gold",
    "Blue",
    "HotPink",
    "Orange",
    "Peru",
    "DodgerBlue",
    "Lime",
    "Tan",
    "Red",
    "GreenYellow",
    "DarkGreen",
    "DimGray",
    "Orchid"
};

//调用该方法生成柱状图
private void bindchart()
{
    //获取一个DataTable,具体函数略...
     DataTable dt = this.getdt();
    if (dt != null)
     {
        if (dt.Rows.Count > 0)
         {
            //遍历DataTable为每条记录生成一个柱状
            for (int i = 0; i < dt.Rows.Count; i++)
             {
                //创建对象
                 ColumnChart mychart = new ColumnChart();
                //设置柱子宽度
                 mychart.MaxColumnWidth = 48;
                //颜色
                 mychart.Fill.Color = Color.FromName(this.myColor[i]);
                //在柱子上显示数量
                 mychart.DataLabels.Visible = true;
                //数量的字体
                 mychart.DataLabels.Font = new Font("Verdana", 14);
                //添加
                 mychart.Data.Add(new ChartPoint("", float.Parse(dt.Rows[i]["num"].ToString())));
                //备注
                 mychart.Legend = dt.Rows[i]["name"].ToString();
                this.chart.Charts.Add(mychart);
             }
            //辅助设置
            //背景色
             chart.Background.Color = Color.FromArgb(165, 0, 16);
             chart.YAxisFont.ForeColor = Color.FromArgb(165, 0, 16);
             chart.XAxisFont.ForeColor = Color.FromArgb(165, 0, 16);
            //内部线条
             chart.Border.Color = Color.FromArgb(200, 200, 200);
            //边框样式
             chart.BorderStyle = BorderStyle.None;
            //y最大值
            double max = double.Parse(dt.Compute("MAX(num)","").ToString());
            //递增值
            int intv = 2;

            //数量小于16的情况
            if (max < 16)
             {
                 max = 16;
             }
            //大于16的情况
            else
             {
                 intv = int.Parse(Math.Ceiling(max/8).ToString());
                 max += intv;
             }

            //设置Y轴终点值
             chart.YCustomEnd = int.Parse(max.ToString());
            //y递增值
             chart.YValuesInterval = intv;

            //生成
            this.chart.RedrawChart();
         }
     }
}

 

  • 本文标题: WebChart实现折线,柱状,扇形图--web chart控件
  • 文章分类:【.NET/Web】
  • 非特殊说明,本文版权归【胡同里的砖头】个人博客 所有,转载请注明出处.
留言评论
站点声明:
1、本站【胡同里的砖头】个人博客,借鉴网上一些博客模板,取其各优点模块自行拼装开发,本博客开发纯属个人爱好。
2、所有笔记提供给广大用户交流使用,可转载,可复制,纯个人开发所遇问题锦集记录使用
Copyright © huzlblog.com All Rights Reserved. 备案号:苏ICP备2021056683号-8