Js + echarts - Pie legend 位置调整和值添加

var drawPieChart=function(chartId,titleText){

var chartData=[                    {value:335, name:‘原因1‘,trend:‘up‘},                    {value:310, name:‘原因2‘,trend:‘up‘},                    {value:234, name:‘原因3‘,trend:‘dw‘},                    {value:135, name:‘原因4‘,trend:‘dw‘},                    {value:1548, name:‘原因5‘,trend:‘eq‘}                ]    var option = {        title : {            text: titleText,            subtext: ‘‘,            x:‘center‘        },        tooltip : {            trigger: ‘item‘,            formatter: "{a} <br/>{b} : {c} ({d}%)"        },        legend: {            orient: ‘vertical‘,                  right: ‘right‘,        //靠右            top:‘middle‘,        //垂直居中            formatter:function(name){    //在legend后加上趋势箭头,数值和百分比                var total=0, target,trend;  //echarts pie legend字面量有name值,value需要靠外部的chartData对象根据name值匹配获取                _.each(chartData,function(value, i){                    total+=chartData[i].value                    if(chartData[i].name==name){                        target=chartData[i].value                        trend=chartData[i].trend                    }                })                var resultStr=name + ‘ | ‘ + ((target/total)*100).toFixed(2)+‘%‘ + " "                if(trend==‘up‘){    //根据趋势值来获取对应的图表及样式,样式规则{style | string},legend样式text写在Style rich 里                    resultStr+=‘{g| ↑}‘                }else if(trend==‘dw‘){                    resultStr+=‘{r| ↓}‘                }else if(trend==‘eq‘){                    resultStr+=‘{y| ━}‘                }                resultStr+=  ‘¥ ‘ + target

return resultStr            },            data: [‘原因1‘,‘原因2‘,‘原因3‘,‘原因4‘,‘原因5‘],            textStyle:{                rich:{                    r:{                        color:‘red‘                    },                    y:{                        color:‘orange‘                    },                    g:{                        color:‘green‘                    }                }            }        },        series : [            {                name: ‘访问来源‘,                type: ‘pie‘,                radius : [‘30%‘, ‘45%‘],  //半径值,为圆环                center: [‘35%‘, ‘40%‘],  //宽比,高比                data:[                    {value:335, name:‘原因1‘},                    {value:310, name:‘原因2‘},                    {value:234, name:‘原因3‘},                    {value:135, name:‘原因4‘},                    {value:1548, name:‘原因5‘}                ],                itemStyle: {                    emphasis: {                        shadowBlur: 10,                        shadowOffsetX: 0,                        shadowColor: ‘rgba(0, 0, 0, 0.5)‘                    }                }            }        ]    };

var myChart=echarts.init(document.getElementById(chartId))    myChart.setOption(option);    window.addEventListener(‘resize‘,myChart.resize)}

原文地址:https://www.cnblogs.com/KellyChen/p/9434041.html

时间: 2024-11-05 21:48:36

Js + echarts - Pie legend 位置调整和值添加的相关文章

Echart饼图、柱状图、折线图(pie、bar、line)添加点击事件

var myChart= echarts.init(document.getElementById('myChart')); myChart.on('click', function (param) { alert('点击了我!'); }); Echart事件参数可以去config.js查找 Echart饼图.柱状图.折线图(pie.bar.line)添加点击事件

js去除数组中的重复值

hasOwnProperty(property) 方法 JavaScript中hasOwnProperty函数方法是返回一个布尔值,指出一个对象是否具有指定名称的属性. 使用方法: object.hasOwnProperty(proName) 其中参数object是必选项.一个对象的实例.proName是必选项.一个属性名称的字符串值. 如果 object 具有指定名称的属性,那么JavaScript中hasOwnProperty函数方法返回 true:反之则返回 false.此方法无法检查该对

chart.js图表库案例赏析,饼图添加文字

chart.js图表库案例赏析,饼图添加文字 Chart.js 是一个令人印象深刻的 JavaScript 图表库,建立在 HTML5 Canvas 基础上.目前,它支持6种图表类型(折线图,条形图,雷达图,饼图,柱状图和极地区域区).而且,这是一个独立的包,不依赖第三方 JavaScript 库,小于 5KB. 前天用了一下,由于以前也稍微用过,今天总结了一下(水平有限,如果问题,请不吝赐教): 开发中文文档:http://www.bootcss.com/p/chart.js/docs/ ch

用js控制按钮时间,将指定内容添加到文本域的光标所在位置。

<pre class="javascript" name="code"> var fm = document.getElementsByTagName('form')[0]; var button = document.getElementsByName("button"); //获取一个cookie的值 function getCookie(index){ var allcookies = document.cookie; var

JS中获取数据库中的值

在本次项目中,遇到很多问题,经过努力,都逐步得到解决.静下心来,做一个记录,以供以后学习. 在项目中遇到一个问题,需要在JS中读取数据库中的值,然后再把值返回到页面中,解决方案如下:使用Ajax方法来实现,需要用到ajax.dll(一个ajax技术开发的帮助类库). 实施过程如下: 1.引用Ajax.dll 2.在App_Code写具体的方法,最好单独建立一个类文件,然后写具体方法. public class AjaxMethod www.2cto.com { public AjaxMethod

js中全局变量修改后的值不生效【jsp页面中各个js中内容的加载顺序】

一个老项目中,一个jsp文件中有很多个js文件, 现在要在页面上的一个地方判断一个状态,因为一直找不到原来是在哪里修改的那个状态,所以决定不找了,而是在比较靠前引入的一个js中定义一个全局变量,然后在这个js的 $(function(){}} 方法中通过一个ajax向后台获取正确的状态,然后在所有的js都加载完之后根据全局变量的值的状态来修改页面上的逻辑. 但是发现,全局变量被一个外部js修改赋值后,我在jsp页面的最下面居然取不到修改过的值. 请教同事才发现原来原因是 任何一个js文件中的 $

js给文本框增加默认值

js给文本框增加默认值 <script type="text/javascript">window.onload = function () {var ss = document.getElementById("txt");ss.onfocus = function () {this.value = "";ss.style.color = "black";}ss.onblur = function () {if (

js 判断 0&lt;15&lt;30返回值是 true

与java不一样,因为js是弱语言 0<15 返回布尔类型 true,表达式变成true<30, js 有默认类型转换机制,表达式true<30 中的true会 转换成number类型 1,从而变成1< 30,就得到true; 总结:一般不要适应,if(0<15<30)这种,一般用&&  或者 || : js中null,NaN,'',undefined,false,0都为false,js中的对象,数值出了0都为true, var x={o:0,p:1,q

Python+Django+js+echarts引入本地js文件的操作方法

1. 选择正确的echarts.js,开发版选择echarts.baidu.com上的源码版,避免出现问题 2. 在项目主目录中新建static文件夹,里面建立js.css.images文件夹 3. 在settings文件中新增如下代码配置: STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, 'static') STATICFILES_DIRS = ( ('css', os.path.join(STATIC_ROOT, 'c