jquery饼图

具体效果如下:

    <!DOCTYPE html>  
    <html>  
    <head>  
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
    <title>Insert title here</title>  
    <script language="javascript" type="text/javascript"src="jquery.js"></script>   
    <script language="javascript" type="text/javascript" src="jquery.flot.js"></script>  
    <script language="javascript" type="text/javascript" src="jquery.flot.pie.js"></script>  
      
    <script type="text/javascript">  
      
        $(function(){  
      
            var data = [  
                { label: "苹果",  data: 10},  
                { label: "香蕉",  data: 30},  
                { label: "西瓜",  data: 90},  
                { label: "葡萄",  data: 70},  
                { label: "柑橘",  data: 80},  
                { label: "菠萝",  data: 110}  
            ];  
          
            $.plot($("#pie1"), data, {  
                series: {  
                             pie: {   
                                        show: true //显示饼图  
                             }  
                },  
                legend: {  
                            show: false //不显示图例  
                }  
            });  
              
            $.plot($("#pie2"), data, {  
                series: {  
                    pie: {   
                        show: true //显示饼图  
                    }  
                }  
                  
            });  
      
            $.plot($("#pie3"), data, {  
                series: {  
                    pie: {   
                        show: true,  
                        radius: 1, //半径  
                        label: {  
                            show: true,  
                            radius: 2/3,  
                            formatter: function(label, series){  
                                return '<div style="font-size:8pt;text-align:center;padding:2px;color:white;">'+label+'<br/>'+Math.round(series.percent)+'%</div>';  
                        },  
                        threshold: 0.03  //这个值小于0.03,也就是3%时,label就会隐藏  
                    }  
                }  
            },  
            legend: {  
                show: false  
            }  
        });  
      
      
         $.plot($("#pie4"), data,   
        {  
            series: {  
                pie: {   
                    show: true  
                }  
            },  
            grid: {  
                hoverable: true,  
                clickable: true  
            }  
        });  
      
        $("#pie4").bind("plothover", pieHover);  
        $("#pie4").bind("plotclick", pieClick);  
      
      
      
      
        });  
          
        function pieHover(event, pos, obj)   
    {  
        if (!obj)  
                    return;  
        percent = parseFloat(obj.series.percent).toFixed(2);  
        $("#hover").html('<span style="font-weight: bold; color: '+obj.series.color+'">'+obj.series.label+' ('+percent+'%)</span>');  
    }  
      
    function pieClick(event, pos, obj)   
    {  
        if (!obj)  
                    return;  
        percent = parseFloat(obj.series.percent).toFixed(2);  
        alert(''+obj.series.label+': '+percent+'%');  
    }  
          
      
      
      
      
    </script>  
      
    <style>  
    div.graph  
            {  
                width: 400px;  
                height: 300px;  
                border: 1px dashed gainsboro;  
            }  
      
    </style>  
      
      
      
      
    </head>  
    <body>  
      
      
    <h3>饼图1</h3>  
    <div id="pie1" class="graph" ></div>  
    <hr>  
      
    <h3>饼图2</h3>  
    <div id="pie2" class="graph" ></div>  
    <hr>  
      
    <h3>饼图3</h3>  
    <div id="pie3" class="graph" ></div>  
    <hr>  
      
    <h3>饼图4</h3>  
    <div id="pie4" class="graph" ></div>  
    <div id="hover"></div>  
    <hr>  
      
    </body>  
    </html>  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
如果你需要经常使用3D饼图,你可以封装一个函数来生成3D饼图,这样可以简化代码,并且提高代码的复用性。下面是一个简单的封装函数示例: ```javascript function createPieChart3D(container, data, options) { // 基于准备好的dom,初始化echarts实例 var myChart = echarts.init(document.getElementById(container)); // 设置默认的图表选项 var defaultOptions = { tooltip: { trigger: 'item', formatter: '{a} <br/>{b}: {c} ({d}%)' }, series: [ { name: '访问来源', type: 'pie', radius: [30, 110], roseType: 'area', itemStyle: { borderRadius: 8 }, label: { show: true }, emphasis: { label: { show: true } }, data: data } ] }; // 合并用户传入的选项和默认选项 var chartOptions = $.extend({}, defaultOptions, options); // 使用刚指定的配置项和数据显示图表。 myChart.setOption(chartOptions); } ``` 在以上代码中,我们定义了 `createPieChart3D` 函数,该函数接受三个参数: - `container`:用于显示图表的 HTML 元素的 ID。 - `data`:饼图数据数组。 - `options`:图表选项对象。 在函数内部,我们首先初始化 Echarts 实例,然后设置默认的图表选项。接着,我们使用 jQuery 的 `$.extend()` 函数将用户传入的选项和默认选项进行合并,并使用 `myChart.setOption()` 方法将图表显示在页面上。 使用该函数生成3D饼图的示例代码如下: ```javascript var data = [ {value: 335, name: '直接访问'}, {value: 310, name: '邮件营销'}, {value: 234, name: '联盟广告'}, {value: 135, name: '视频广告'}, {value: 1548, name: '搜索引擎'} ]; var options = { tooltip: { trigger: 'item', formatter: '{b}: {c} ({d}%)' }, series: [ { name: '访问来源', type: 'pie', radius: [20, 100], center: ['50%', '50%'], roseType: 'area', itemStyle: { borderRadius: 8 }, label: { show: true, formatter: '{b}: {c} ({d}%)' }, emphasis: { label: { show: true } }, data: data } ] }; createPieChart3D('main', data, options); ``` 在以上代码中,我们调用了 `createPieChart3D` 函数,并传入了 `container`、`data`、`options` 三个参数。其中,`container` 的值为 `'main'`,表示图表将显示在 ID 为 `'main'` 的 HTML 元素中。`data` 和 `options` 分别为饼图数据和图表选项。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值