echarts 其他展示

 

 


let data=[{name:"回族",value:20},{name:"汉族",value:50},{name:"壮族",value:60},
{name:"满族",value:80},{name:"其他",value:231}]
let dataorder=[{name:"土家族",value:12},{name:"布依族",value:9},
{name:"纳西族",value:13},{name:"毛南族",value:15}]
 
 let totalqt=0
 dataorder.forEach(item=> {
        totalqt+=item.value
    })
let totalCount=0
 data.forEach(item=> {
        totalCount+=item.value
    })
 
 
option = {
                tooltip: {
                    show: true, //是否显示提示框
                    tirgger: "item", //触发方式   axis 坐标轴触发   item  数据项图形触发 散图 饼状图使用
                    asixPointer: {
                        type: "shadow",
                    },
                    showContent: true, 是否显示提示框浮层
                    renderMode: "html", //渲染方式 html   richText 富文本
                    fonfine: true, //是否将 tooltip 框限制在图表的区域内
                    className: "echarts-tooltip", //dom节点的样式名称  (只在 html 模式下生效)
                    textStyle: {
                        fontSize: 12,
                        color: "#666666",
                    },
                    borderWidth: "0", //去掉border边框
                    position: function (point, params, dom, rect, size) {
                        //其中point为当前鼠标的位置,size中有两个属性:viewSize和contentSize,分别为外层div和tooltip提示框的大小
                        var x = point[0]; //
                        var y = point[1];
                        var viewWidth = size.viewSize[0];
                        var viewHeight = size.viewSize[1];
                        var boxWidth = size.contentSize[0];
                        var boxHeight = size.contentSize[1];
                        var posX = 0; //x坐标位置
                        var posY = 0; //y坐标位置

                        if (x < boxWidth) {
                            //左边放不开
                            posX = 5;
                        } else {
                            //左边放的下
                            posX = x - boxWidth;
                        }

                        if (y < boxHeight) {
                            //上边放不开
                            posY = 5;
                        } else {
                            //上边放得下
                            posY = y - boxHeight;
                        }

                        return [posX, posY];
                    },
                    // padding:0,
                    // backgroundColor:'#fff',
                    formatter: function (params) {
                        console.log("悬浮", params);
                        let name = params.name.substring(0, 7);
                        // let name = params.name;
                        
                        let str = `<span class='tooltip_name'>${params.marker}${name}</span>
                              <span  class='tooltip_value'>${params.value}</span>个
                               | <span  class='tooltip_value'>${params.percent}</span>% </br>
                              `; // 设置显示内容
                              if( params.name=="其他"){
                                dataorder.forEach(item=>{
                                    str+=`<span class='tooltip_name'>${item.name}</span>
                                    <span  class='tooltip_value'>${item.value}</span>个
                                     | <span  class='tooltip_value'>${(item.value/totalqt*100).toFixed(2)}</span>%
                                     </br>`
                                })
                              
                              }
                        return str;
                    },
                },
                color: ["#73A0FA", "#C28DFF", "#FFB04A", "#FF8C64", "#51DCA7"],
                legend: {
                    type: "scroll", //
                    // x:"right",
                    // y:'center',
                    // show:true,
                    // height:'500px',
                    itemGap: 10,
                    orient: "vertical",
                    // left: 'left',
                    top: "center",
                    // // icon:'circle',
                    icon: "path://M512 371c37.66 0 73.07 14.67 99.7 41.3 26.63 26.63 41.3 62.04 41.3 99.7s-14.67 73.07-41.3 99.7C585.07 638.33 549.66 653 512 653s-73.07-14.67-99.7-41.3C385.67 585.07 371 549.66 371 512s14.67-73.07 41.3-99.7c26.63-26.63 62.04-41.3 99.7-41.3m0-127c-148.01 0-268 119.99-268 268s119.99 268 268 268 268-119.99 268-268-119.99-268-268-268z", //自定义图标
                    // // right:10,
                    // top:'0%',
                    right: "0%",
                    selectedMode: false, //取消点击事件

                    // align:'left',

                    // width:'30%',
                    textStyle: {
                        color: "#666666",
                        fontSize: 14,
                        fontWeight: 500,
                        overflow: "truncate",

                        // lineHeight:20,
                        padding: [2, 0, 2, 0],
                        rich: {
                            name: {
                                fontSize: 14,
                                color: "#666666",
                                padding: [2, 0, 0, 0], //上 右  下 左
                            },
                            longname: {
                                fontSize: 12,
                                color: "#666666",
                                padding: [2, 0, 0, 0], //上 右  下 左
                            },
                        },
                    },
                    formatter(name) {
                        console.log(name);

                        if (name.length > 7) {
                            //     return `{longname|${name}}`;
                            // }
                            // else if(name.length>7)
                            // {
                            //大于7个汉字截取 最大只展示7个汉字
                            name = name.substring(0, 7) + "...";

                            return `{longname|${name}}`;
                        } else {
                            return `{name|${name}}`;
                        }
                    },
                },
                grid: {
                    x: 10, //左留白
                    y: 20, //上留白
                    x2: 10, //右留白
                    y2: 10, //下留白
                },
                series: [
                    {
                        name: "卡包使用数据",
                        type: "pie",
                        radius: ["30%", "60%"], //饼图内圈和外圈半价
                        center: ["25%", "50%"], //饼图位置
                        avoidLabelOverlap: false,
                        // hoveranination:false,
                        // silent:true,
                        label: {
                            show: true,
                            position: "center", //饼图中心
                            formatter: function (params) {
                                let count = totalCount;
                                let str = "{a| " + count + "}" + "{b|个}";
                                return str;
                            },
                            rich: {
                                a: {
                                    fontSize: 17,
                                    color: "#333333",
                                },
                                b: {
                                    fontSize: 12,
                                    color: "#333333",
                                },
                            },
                            // textStyle:{
                            //     fontSize:12,
                            //     color:'#333333',
                            // }
                        },
                        emphasis: {
                            label: {
                                show: true,
                                fontSize: "14",
                                fontWeight: "500",
                            },
                        },
                        labelLine: {
                            show: false,
                        },
                        data:  data,
                    },
                ],
            }

<p>ECharts (Enterprise Charts 商业产品图表库) 提供商业产品常用图表,底层基于ZRender(一个全新的轻量级canvas类库),创建了坐标系,图例,提示,工具箱等基础组件,并在此上构建出折线图、柱状图、散点图、K线图、饼图、雷达图、地图、和弦图、力导向布局图、仪表盘以及漏斗图,同时支持任意维度的堆积和多图表混合展现。</p><p>Echarts device Echarts explorer   支持IE6/7/8/9+,chrome、firefox、safari、opera   (IE8- power by excanvas )</p><p>特色 我们诚挚邀请你翻阅这份在线文档 《 Why ECharts ? 》 你可以从中更直观的体验到ECharts的特性以及快速浏览到所有图表类型。 *文档中展现的个别特性在IE8-中并没有得到支持,所以建议使用IE9+、chrome、safari、firefox或opera等现代浏览器阅读这份文档。</p><p>Echarts mix 混搭 混搭的图表会更具表现力也更有有趣味,ECharts提供的图表(共11类17种)支持任意混搭: 折线图(面积图)、柱状图(条形图)、散点图(气泡图)、K线图、 饼图(环形图)、雷达图、地图、和弦图、力导布局图、仪表盘、漏斗图。 混搭情况下一个标准图表:包含唯一图例、工具箱、数据区域缩放、值域漫游模块,一个直角坐标系(可包含一条或多条类目轴线,一条或多条值轴线,最多上下左右四条)</p><p>拖拽重计算 拖拽重计算特性(专利)带来了数据统计图表从未有过的用户体验,允许用户对统计数据进行有效的提取、整合,甚至在多个图表间交换数据,赋予了用户对数据进行挖掘、整合的能力。</p><p>Echarts 拖拽重计算 Echarts 数据视图 数据视图 如果你所呈现的数据足够让用户所关心,那么他们将不满足于查看可视化的图表,要去逐一迎合他们下载保存,数据分享,加工整合已有数据等等需求? 或许你只要给予一个“,”分隔的数据文本他们就懂了,这就是ECharts的数据视图!当然,你可以重载数据视图的输出方法,用你独特的方式去呈现数据。 如果你的用户足够的高端,你甚至可以打开数据视图的编辑功能,跟拖拽重计算相比,这可是批量的数据修改!</p><p>动态类型切换 很多图表类型本身所表现的能力是相似的,但由于数据差异、表现需求和个人喜好的不同导致最终图表所呈现的张力又大不一样,比如折线图和柱状图的选择,系列数据是堆叠还是平铺总是让人头疼。 ECharts提供了动态类型切换,让用户随心所欲的切换到他所需要的图表类型和堆叠状态。</p><p>Echarts 动态类型切换 Echarts 图例开关 图例开关 多系列数据的同时展现呈现出丰富内容,但如何让用户切换到他所关心的个别系列上? ECharts提供了方便快捷的多维度图例开关,可以随时切换到你所关心的数据系列。</p><p>数据区域选择 数据可以是无限的,但显示空间总是有限的,数据区域选择组件提供了大数据量中漫游的能力,让用户选择并呈现他所关心的数据区域。 配合随动的均值(极值)标线,标注展现强大的数据剖析能力。 try this 》</p><p>Echarts 数据区域缩放 Echarts 多图联动 多图联动 多系列数据在同一个直角系内同时展现有时候会产生混乱,但他们又存在极强的关联意义不可分离? ECharts提供了多图联动的能力(connect),能做的可不仅仅是鼠标划过的详情显示,连接的多个图表会共享组件事件并且实现了保存图片时的自动拼接。 try this 》</p><p>值域漫游 基于坐标的图表(如地图、散点图)通过色彩变化表现数值的大小能直观形象的展示数据分布。 但如何聚焦到我所关心的数值上?我们创造了称为值域漫游的功能,让你可以轻松进行数值筛选。</p><p>Echarts 值域漫游 Echarts 炫光特效 炫光特效 我们知道,很多时候我们需要一些吸引眼球的能力。 ECharts支持标注标线的炫光特效,特别用在地图上轻松实现百度迁徙数据可视化特效</p><p>大规模数据模式 如何展现成千上百万的数据?貌似除了用专业的统计工具(如MATLAB)外别无选择? 不,在拥有如此多交互特性下ECharts依然可以做到直角系图表(折、柱、散点、K线)20万数据秒级内渲染完成,这对于常规的应用,用现代浏览器就足以轻松展现百万规模的数据!</p><p>Echarts 大规模散点图 Echarts 动态数据添加 Echarts 动态数据添加 动态数据添加 如果你需要展示有实时变化的数据,相信这个动态接口会对你很有帮助。</p><p>标线辅助 趋势线?平均线?上升通道?支持位?专业的你自然知道该怎么
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花归去

客官赏点吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值