精华内容
下载资源
问答
  • Android自定义View——彩色圆环统计图
  • 利用CSS和jquery 实现圆环统计图

    千次阅读 2017-10-10 18:00:02
    圆环统计图 .circlewrap { position: relative; display: inline-block; } .hugecircle { width: 8rem; height: 8rem; box-shadow: 0px 0px 12px #ccc; border-radius: 50%; } .bigcircle { width: 6

    效果图

    <!DOCTYPE html>

    <html>
    <head>
    <meta charset="UTF-8">
    <title>圆环统计图</title>
    <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
    <style>
    .circlewrap {
    position: relative;
    display: inline-block;
    }

    .hugecircle {
    width: 8rem;
    height: 8rem;
    box-shadow: 0px 0px 12px #ccc;
    border-radius: 50%;
    }

    .bigcircle {
    width: 6rem;
    height: 6rem;
    }

    .middlecircle {
    /*height: 4.4rem;
    width:4.4rem;*/
    height: 70px;
    width: 70px;
    }

    .minicircle {
    /*height:3.4rem;
    width:3.4rem;*/
    height: 54px;
    width: 54px;
    }

    .smallcircle {
    /*height:2.2rem;
    width:2.2rem*/
    height: 36px;
    width: 36px
    }

    .circlebg,
    .leftcircle,
    .rightcircle,
    .circlebgtop,
    .number {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    z-index: 20;
    border-radius: 50%;
    }

    .circlebg {
    width: 100%;
    height: 100%;
    background-color: #e6e6e6;
    }

    .circlebgtop {
    z-index: 30;
    background-color: #e6e6e6;
    }

    .leftcircle,
    .rightcircle,
    .circletop {
    height: 100%;
    width: 100%;
    }

    .hugecircle .leftcircle,
    .hugecircle .circlebgtop,
    .hugecircle .rightcircle {
    clip: rect(0, 4rem, 8rem, 0);
    }

    .bigcircle .leftcircle,
    .bigcircle .circlebgtop,
    .bigcircle .rightcircle {
    clip: rect(0, 3rem, 6rem, 0);
    }

    .middlecircle .leftcircle,
    .middlecircle .circlebgtop,
    .middlecircle .rightcircle {
    /*clip:rect(0,2.2rem,4.4rem,0)*/
    clip: rect(0, 36px, 70px, 0)
    }

    .minicircle .leftcircle,
    .minicircle .circlebgtop,
    .minicircle .rightcircle {
    /*clip:rect(0,1.7rem,3.4rem,0)*/
    clip: rect(0, 27px, 54px, 0)
    }

    .smallcircle .leftcircle,
    .smallcircle .circlebgtop,
    .smallcircle .rightcircle {
    /*clip:rect(0,1.1rem,2.2rem,0)*/
    clip: rect(0, 18px, 36px, 0)
    }

    .number {
    z-index: 40;
    background-color: #fff;
    text-align: center;
    }

    .bigcircle .number {
    height: 5.4rem;
    width: 5.4rem;
    font-size: 1.2rem;
    line-height: 4.2
    }

    .mt12 {
    margin-top: 0.75rem;
    }

    .hugecircle .number {
    height: 7rem;
    width: 7rem;
    font-size: 1.6rem;
    line-height: 4.5;
    }

    .middlecircle .number {
    font-size: 1rem;
    line-height: 1.2rem;
    width: 62px;
    height: 62px;
    }

    .minicircle .number {
    width: 48px;
    height: 48px;
    /*font-size:1.5rem;*/
    line-height: 3;
    }

    .smallcircle .number {
    font-size: 1rem;
    line-height: 2rem;
    width: 32px;
    height: 32px;
    font-size: 11px;
    }

    .circle {
    -webkit-transform-origin: center;
    }
    </style>
    </head>


    <body>


    <div class="circlewrap smallcircle">
    <div class="circlebg"></div>
    <div class="circlebgtop"></div>
    <div class="leftcircle circle"></div>
    <div class="rightcircle"></div>
    <div class="number " data-val="0.91">
    91%
    </div>
    </div>
    <div class="circlewrap smallcircle">
    <div class="circlebg"></div>
    <div class="circlebgtop"></div>
    <div class="leftcircle circle"></div>
    <div class="rightcircle"></div>
    <div class="number " data-val="0.52">
    52%
    </div>
    </div>
    <div class="circlewrap minicircle">
    <div class="circlebg"></div>
    <div class="circlebgtop"></div>
    <div class="leftcircle circle"></div>
    <div class="rightcircle"></div>
    <div class="number " data-val="0.6">
    60%
    </div>
    </div>
    <div class="circlewrap bigcircle">
    <div class="circlebg"></div>
    <div class="circlebgtop"></div>
    <div class="leftcircle circle"></div>
    <div class="rightcircle"></div>
    <div class="number " data-val="0.82">
    82%
    </div>
    </div>
    <div class="circlewrap hugecircle">
    <div class="circlebg"></div>
    <div class="circlebgtop"></div>
    <div class="leftcircle circle"></div>
    <div class="rightcircle"></div>
    <div class="number " data-val="0.96">
    96%
    </div>
    </div>


    <script>
    /*画圆弧统计图*/
    /*调用方式,多种颜色 $(select).drawCircle(true);*/
    /*调用方式,单种颜色 $(select).drawCircle(false,'green');*/
    $.fn.drawCircle = function(i, c) {
    var multicolor = i;
    var color = c
    return $(this).each(function() {
    $(this).find('.circlebgtop').css({
    'opacity': '1'
    })
    $(this).find('.rightcircle').css({
    '-webkit-transform': 'rotate(0)',
    'transform': 'rotate(0deg)',
    })
    $(this).find('.leftcircle').css({
    '-webkit-transform': 'rotate(0)',
    'transform': 'rotate(0deg)',
    })
    var val = $(this).find('.number').attr('data-val');
    if(val > 0.50000 || val == 1) {
    var deg = 360 * val + 'deg';
    $(this).find('.rightcircle').css({
    '-webkit-transform': 'rotate(180)',
    'transform': 'rotate(180deg)',
    '-webkit-transition-duration':'1s',
    'transition-duration':'1s',
    '-webkit-transition-timing-function': 'linear',
    '-webkit-animation-fill-mode': 'forwards'
    });
    $(this).find('.circlebgtop').css({
    '-webkit-transition-duration':'1s',
    'transition-duration':'1s',
    '-webkit-transition-delay': '0.5s',
    'opacity': '0'
    })
    $(this).find('.leftcircle').css({
    '-webkit-transition-duration':'1s',
    'transition-duration':'1s',
    '-webkit-transition-timing-function': 'linear',
    '-webkit-animation-fill-mode': 'forwards',
    '-webkit-transform': 'rotate(' + deg + ')',
    'transform': 'rotate(' + deg + ')'
    })
    } else if(val < 0.5000 || val == 0.50000) {
    //console.log(360*val);
    var deg = 360 * val + 'deg';
    $(this).find('.rightcircle').css({
    '-webkit-transform': 'rotate(' + deg + ')',
    'transform': 'rotate(' + deg + ')',
    '-webkit-transition-duration':'1s',
    'transition-duration':'1s',
    '-webkit-transition-timing-function': 'linear',
    '-webkit-animation-fill-mode': 'forwards'
    });
    }
    if(multicolor) {
    if(val == 0) {
    $(this).find('.number').css({
    'color': '#999'
    })
    } else if(val > 0 && val < 0.5999) {
    $(this).find('.rightcircle').css({
    'background-color': '#ff7068'
    });
    $(this).find('.leftcircle').css({
    'background-color': '#ff7068'
    });
    $(this).find('.number').css({
    'color': '#ff7068'
    })
    } else if(val > 0.5999 && val < 0.6999) {
    $(this).find('.rightcircle').css({
    'background-color': '#ff9900'
    });
    $(this).find('.leftcircle').css({
    'background-color': '#ff9900'
    });
    $(this).find('.number').css({
    'color': '#ff9900'
    })
    } else if(val > 0.6999 && val < 0.8499) {
    $(this).find('.rightcircle').css({
    'background-color': '#4fc1e9'
    });


    $(this).find('.leftcircle').css({
    'background-color': '#4fc1e9'


    });
    $(this).find('.number').css({
    'color': '#4fc1e9'
    })
    } else if(val > 0.8499) {
    $(this).find('.rightcircle').css({
    'background-color': '#48cfad'
    });
    $(this).find('.leftcircle').css({
    'background-color': '#48cfad'
    });
    $(this).find('.number').css({
    'color': '#48cfad'
    })
    } else if(val == null || val == '') {
    $(this).find('.number').css({
    'background-color': '#e6e6e6',
    'color': '#aaa'
    }).text('--')
    }
    } else {
    $(this).find('.rightcircle').css({
    'background-color': color
    });
    $(this).find('.leftcircle').css({
    'background-color': color
    });
    $(this).find('.number').css({
    'color': color
    });
    $(this).find('.number').css({
    'color': color
    });
    }


    })
    }
       setTimeout(function(){
               $('.minicircle').drawCircle(true);
      $('.bigcircle').drawCircle(true);
      $('.smallcircle').drawCircle(true);
      $('.hugecircle').drawCircle(true);    
         },50)

    </script>
    </body>


    </html>
    展开全文
  • public class MyView extends View { public MyView(Context context) { super(context); } public MyView(Context context, @Nullable ...原是没有变形的,一个正圆的圆环,不知道上传之后会变成什么样子。
    public class MyView extends View {
    
        public MyView(Context context) {
            super(context);
        }
    
        public MyView(Context context, @Nullable AttributeSet attrs) {
            super(context, attrs);
        }
    
        public MyView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
            super(context, attrs, defStyleAttr);
        }
    
        public void setData() {
            //设置数据
            invalidate();//用它来刷新view,显示设置数据后的图
        }
    
        @Override
        protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
            super.onMeasure(widthMeasureSpec, heightMeasureSpec);
        }
    
        @Override
        protected void onDraw(Canvas canvas) {
            super.onDraw(canvas);
            // 获取控件的高度和宽度
            int width = getWidth();
            int height = getHeight();
            
            Log.e("MyView", "width:" + width);
            Log.e("MyView", "height:" + height);
    
            Paint paint_bg = new Paint();
            paint_bg.setStrokeWidth(100);
            paint_bg.setStyle(Paint.Style.FILL);
            paint_bg.setColor(Color.parseColor("#FF0000"));
    
            int banjing_bg;
            if (width > height) {
                banjing_bg = height / 2 - 100;
            } else {
                banjing_bg = width / 2 - 100;
            }
            Log.e("MyView", "banjing:" + banjing_bg);
            RectF oval = new RectF(width / 2 - banjing_bg, height / 2 - banjing_bg, width / 2 + banjing_bg, height / 2 + banjing_bg);
            canvas.drawArc(oval, 0, 270, true, paint_bg);
    
    
            Paint paint = new Paint();
            paint.setStrokeWidth(100);
            paint.setStyle(Paint.Style.FILL);
            paint.setColor(Color.parseColor("#FFFFFF"));
            int banjing;
            if (width > height) {
                banjing = height / 2 - 200;
            } else {
                banjing = width / 2 - 200;
            }
            Log.e("MyView", "banjing:" + banjing);
            RectF oval1 = new RectF(width / 2 - banjing, height / 2 - banjing, width / 2 + banjing, height / 2 + banjing);
            canvas.drawArc(oval1, 0, 360, true, paint);
    
        }
    
    }

    刚开始宽高一直设置不对,后来画了个图,算了一下到底应该是多少,才弄对,看来数学还是很有用的。

    效果图:

     

     

    原图是没有变形的,一个正圆的圆环,不知道上传之后会变成什么样子。

    展开全文
  • 一:前言 小白要开始写博客了。... *1,需求:按照ui设置 用代码绘制出相应的圆环统计图 带动画效果 圆环中有两种颜色 加载完一个颜色就需要加载第二个颜色 * 2,思路:绘制圆环 需要一个RectF作为内

    一:前言

    小白要开始写博客了。Android一起进阶吧。

    二:编码

    废话不多说,开始码代码(养成好习惯 每次编码前都要把思路和需要用到的东西写出注释)

    //注意   只能放两种颜色
    /**
     *1,需求:按照ui设置 用代码绘制出相应的圆环统计图  带动画效果  圆环中有两种颜色  加载完一个颜色就需要加载第二个颜色
     * 2,思路:绘制圆环  需要一个RectF作为内接矩形 起始角度和最终角度由用户在xml中定义
     * ,动画效果我们采用 ValueAnimator   定义多少秒去加载完这个控件的动画   关于角度 我们需要两个常量
     * 一个变量 变量就是当前view绘制圆环绘制的角度为多少  两个常量是 起始角度和结束角度
     * 3,编码:init初始化获取用户定义的起始终止角度等信息  当然我们需要定义好styles给用户输入
     *因为是圆环 所以需要取空间宽度和高度的最小值   考虑到绘制两种颜色的问题   所以我们在绘制的时候需要判断  第一部分是否已经绘制完成
     * 然后也要去绘制第二部分   当然前提是我们需要知道第一地步占总角度额百分之多少  然后再计算第一部分的角度大小
     *
     *
     *
     */

    因为是绘制两块圆环拼成一个圆环统计图  所以需要知道圆环在哪个角度开始绘制第二个圆环  。所以需要刚开始求出开始绘制第二个圆环的角度位置




    一些初始化   获取xml定义的属性就不多说了  上一篇博客有说过


    private void drawArc(Canvas canvas) {
        firstPointCenterX= (float) (realWidth/2+((realWidth/2-ringViewStroke)*Math.cos((transitionAngle/2)*(3.14/180))));
        firstPointCenterY= (float) (realWidth/2+((realWidth/2-ringViewStroke)*Math.sin((transitionAngle/2)*(3.14/180))));
        secondPointCenterX=(float) (realWidth/2+((realWidth/2-ringViewStroke)*Math.cos((transitionAngle+(endAngle-transitionAngle)/2)*(3.14/180))));
        secondPointCenterY=(float) (realWidth/2+((realWidth/2-ringViewStroke)*Math.sin((transitionAngle+(endAngle-transitionAngle)/2)*(3.14/180))));
        mPaint.setColor(fisrtColor);
        canvas.drawArc(mRectF,startAngle,nowAngle,false,mPaint);
        if (nowAngle>transitionAngle){
            mPaint.setColor(secondColor);
            canvas.drawArc(mRectF,transitionAngle,nowAngle-transitionAngle,false,mPaint);
        }
        if(nowAngle>(transitionAngle/2)){
            canvas.drawText(firstNumText,firstPointCenterX,firstPointCenterY,textPaint);
            canvas.drawText(secondNumText,secondPointCenterX,secondPointCenterY,textPaint);
        }
    }
    

    这里就是主要绘制的区域了    当然 因为UI的需求  还需要显示一个文字做注释   可把小白累死了    文字的位置在加载的圆环上一点开始绘制     于是开始了拼命了找谷歌爸爸和百度哥哥   当然  最后都找到了  哈哈哈哈


    firstPointCenterX= (float) (realWidth/2+((realWidth/2-ringViewStroke)*Math.cos((transitionAngle/2)*(3.14/180))));
    firstPointCenterY= (float) (realWidth/2+((realWidth/2-ringViewStroke)*Math.sin((transitionAngle/2)*(3.14/180))));
    secondPointCenterX=(float) (realWidth/2+((realWidth/2-ringViewStroke)*Math.cos((transitionAngle+(endAngle-transitionAngle)/2)*(3.14/180))));
    secondPointCenterY=(float) (realWidth/2+((realWidth/2-ringViewStroke)*Math.sin((transitionAngle+(endAngle-transitionAngle)/2)*(3.14/180))));
    


    最后  动画   特效什么的 还是和上一篇博客一样   没有什么好说了     具体看源码哦         另外   git上持续更新哦


    https://git.oschina.net/atex/CustomViewDemo.git




    展开全文
  • 最近,要用到echarts画饼图统计图,于是学习了会,附上echarts官网 http://echarts.baidu.com/doc/example.html 看到echarts有一些饼图实例,代码如下: option = {  tooltip : {  trigger: 'item',  ...

    最近,要用到echarts画饼图统计图,于是学习了会,附上echarts官网

    http://echarts.baidu.com/doc/example.html


    看到echarts有一些饼图实例,代码如下:

    option = {
        tooltip : {
            trigger: 'item',
            formatter: "{a} <br/>{b} : {c} ({d}%)"
        },
        legend: {
            orient : 'vertical',
            x : 'left',
            data:['直接访问','邮件营销','联盟广告','视频广告','搜索引擎']
        },
        toolbox: {
            show : true,
            feature : {
                mark : {show: true},
                dataView : {show: true, readOnly: false},
                magicType : {
                    show: true,
                    type: ['pie', 'funnel'],
                    option: {
                        funnel: {
                            x: '25%',
                            width: '50%',
                            funnelAlign: 'center',
                            max: 1548
                        }
                    }
                },
                restore : {show: true},
                saveAsImage : {show: true}
            }
        },
        calculable : true,
        series : [
            {
                name:'访问来源',
                type:'pie',
                radius : ['50%', '70%'],
                itemStyle : {
                    normal : {
                        label : {
                            show : false
                        },
                        labelLine : {
                            show : false
                        }
                    },
                    emphasis : {
                        label : {
                            show : true,
                            position : 'center',
                            textStyle : {
                                fontSize : '30',
                                fontWeight : 'bold'
                            }
                        }
                    }
                },
                data:[
                    {value:335, name:'直接访问'},
                    {value:310, name:'邮件营销'},
                    {value:234, name:'联盟广告'},
                    {value:135, name:'视频广告'},
                    {value:1548, name:'搜索引擎'}
                ]
            }
        ]
    };


    这边数据是写死的,335,310等,那么如何动态加入数据,使之成为动态的统计图呢?

    $(function() {
            var jobChart, ageChart, progressChart;

            function drawCharts(data) {
                var jobOption = {
                    title: {
                        text: '员工在职情况',
                        x: 'center',
                        y: 10,
                        textStyle: {
                            fontSize: 16,
                            fontWeight: 'bolder',
                            color: '#4b4b4b'
                        }
                    },
                    legend: {
                        orient: 'horizontal',
                        x: 'center',
                        y: 'bottom',
                        itemWidth: 6,
                        itemHeight: 12,
                        selectedMode: false,
                        data: ['正式员工', '试用员工', '实习/兼职']
                    },
                    calculable: false,
                    series: [
                        {
                            name: '在职人数',
                            type: 'pie',
                            radius: ['40%', '50%'],
                            itemStyle: {
                                normal: {
                                    label: {
                                        position: 'center',
                                        distance: 8,
                                        textStyle: {
                                            color: '#4b4b4b',
                                            fontSize: '14'
                                        },
                                        formatter: function(){
                                            return "在职人数" + "\n" + data.jobUserCount + "人"
                                        }
                                    },
                                    labelLine: {
                                        show: false
                                    }
                                },
                                emphasis: {
                                    label: {
                                        show: true,
                                        position: 'outer',
                                        textStyle: {
                                            align: 'center',
                                            baseline: 'middle',
                                            fontSize: '12'
                                        },
                                        formatter: function(params){
                                            return params.name +'\n'+ params.value +' ('+ params.percent +'%)';
                                        }
                                    },
                                    labelLine: {
                                        show: false,
                                        length: 16
                                    }
                                }
                            },
                            data: [{
                                value: data.formalUserCount,
                                name: '正式员工',
                                itemStyle: {
                                    normal: {
                                        color: '#8bcfb8'
                                    }
                                }
                            },{
                                value: data.tryoutUserCount,
                                name: '试用员工',
                                itemStyle: {
                                    normal: {
                                        color: '#efb43e'
                                    }
                                }
                            },{
                                value: data.internshipUserCount,
                                name: '实习/兼职',
                                itemStyle: {
                                    normal: {
                                        color: '#64bdec'
                                    }
                                }
                            }]
                        }
                    ]
                };
                jobChart.setOption(jobOption);
            };

            require.config({
                paths: {
                    echarts: '/static/lib/echarts'
                }
            });
            require(
                    [
                        'echarts',
                        'echarts/chart/pie'
                    ],
                    function (ec) {
                        jobChart = ec.init(document.getElementById('pieJob'));
                        ageChart = ec.init(document.getElementById('pieAge'));
                        progressChart = ec.init(document.getElementById('pieProgress'));

                        $.ajax({
                            type: 'POST',
                            url: '/count/statistics.json',  //ajax请求的url链接
                            dataType: 'json', //数据格式
                            success: function (json) {
                                if (json.code == 1) {
                                    drawCharts(json.data);//当ajax获取数据成功,加载画图方法
                                }
                            }
                        });
                    }
            );
        });



    展开全文
  • 绘制柱状统计图 把 SSTMonthColumnChart 添加到 View 上 @property (nonatomic, strong) SSTMonthColumnChart *knownColumnChart; self.knownColumnChart = [self createColumnView]; self.knownColumnChart....
  • Excel饼图圆环图模板-年度入职与离职人员统计
  • Excel饼图圆环图模板-粉丝年度统计分析表Excel图表
  • Excel饼图圆环图模板-各部门人员统计报告Excel图表
  • 最近项目中需要用到一个圆环统计,如下所示,于是手撸了一个超级简单的分享给大家。 就当做给萌新自定义View的入门了,有需要的也可以直接拷贝过去就能用,先看效果 日常分析一波 先构思一波,这个东西应该怎么...
  • Rect环状统计图工具类

    2019-04-30 09:38:17
    由于公司项目需要,对可用金额和全部金额进行环状统计图统计,因此秉着不重复造轮子的信念,开始疯狂的度娘查询...经过反复度娘筛选,最终确定用简书的一位简友的“使用JS绘制一个圆环统计图”, 但公司用的reac...
  • 自定义控件 《进度条,统计圆环图》从0基础开始,备注详细,还有其他小技巧 (后续会不断的更新优化) 说明:外环进度条的颜色 、宽度、底色;百分比的字体、大小、颜色;文字的大小、颜色、进度条动态加载的快慢...
  • 圆环形百分比统计

    千次阅读 2017-03-02 17:03:12
    此为效果 参考:http://blog.csdn.NET/u010053224/article/details/51799523 /** * Created by ${ITcat} on 2017/3/1. * * 自定义的圆形饼图控件 */ public class MyPieChartView extends View { private ...
  • Android 手撸一个圆环信息统计控件

    千次阅读 2018-05-03 17:25:43
    对于很多应用来说都可能需要做一些数据的统计与展示,通常使用的也就是圆盘统计图和直线统计图以及折线统计图,由于android原生系统中不提供这类的控件,通常需要自己手撸一个或者使用第三方框架,有很多第三方框架...
  • 在开发中经常遇到统计之类的需求,特此封装了一个简单的圆饼圆环图,效果如下 代码下载地址:https://github.com/minyahui/MYHCricleView.git 转载于:...
  • 统计分析制作坊

    2015-05-10 09:51:18
    提供制作统计分析饼图、圆环图、全堆叠柱形、散点、折线、面积、简单柱形、多重柱形、堆叠柱形、堆叠面积、三维柱形、水平简单柱形、水平多重柱形、水平堆叠柱形、水平全堆叠柱形、全堆叠...
  • 一个用css3写的环状统计图。 可配置参数有: $circleSize(圆的尺寸) $circleLineSize(圆环的宽度) $circleColor(圆的颜色) $circleLineColor(圆环的颜色) $textColor(文本颜色)
  • 自定义控件画统计图 完成对sd卡内存使用情况 不足之处是在现实180的的时候圆弧没有完全占整个圆环的一半 主类   package com.example.draw; import android.content.Context; import android.graphics.Canvas; ...
  • 在一个圆环上随机取3点,求这3个点组成一个锐角三角形的概率 题解 如下所示: 取单位圆上任意不同两点A和B,A、B两点确定以后,点A、B、C三点要够成锐角三角形,点C必须在DE之间,否在将构成直角三角形(点C与...
  • 圆环百分比

    千次阅读 2016-03-31 16:34:44
    <!DOCTYPE HTML> <html> 演示:jQuery圆形统计图(百分比) <script type="text/javascript" src="js/jquery-1.11.1.min.js"></script> <script
  • public class CircularProgressView extends View { private Paint mBackPaint, mProgPaint; // 绘制画笔 private RectF mRectF; // 绘制区域 private int[] mColorArray; // 圆环渐变色 p..
  • jQuery 统计插件汇总

    2016-05-11 15:00:57
    jQuery 统计插件汇总,里面包含: FlashChar flash统计图charts GooPieChart统计图 Highcharts-1.1.3 js图表 圆环统计
  • 给出若干互不相交的同心圆盘(圆盘的中心按页的边缘计算),计算出各轴像素密度(各圆环内“on”象素的个数)作为图形的特征向量.在页面的特征向量之间,建立一种距离,再进行聚类分析以识别文档的摹本.对从网下载的批量...
  • 强大的统计图表库

    2014-08-05 12:46:53
    achartengine是个不错的数据统计图组件,可以轻松绘制各类统计图表, 线图 面积图 散点图 时间图 条图 饼图 气泡图 圆环图 条形图范围(高至低) 立方线图
  • js旭日图表统计代码

    2020-06-11 11:28:34
    js旭日图表统计代码是一款独特的基于echarts图表插件制作的圆形标签分类统计代码,圆环图与树状的合体。
  • JS旭日图表标签分类统计代码是一款比较特别圆形图表统计代码,圆环图与树状的合体。

空空如也

空空如也

1 2 3 4 5
收藏数 88
精华内容 35
关键字:

圆环统计图