4-Highcharts 3D图之3D普通饼图

<!DOCTYPE>
<html lang='en'>
<head>
<title>4-Highcharts 3D图之3D普通饼图</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<script src="../jquery-2.1.4/jquery.min.js"></script>
<script src="../Highcharts-4.2.5/js/highcharts.js"></script>
<script src="../Highcharts-4.2.5/js/highcharts-3d.js"></script>
<script src="../Highcharts-4.2.5/js/themes/gray.js"></script><!--主题   -->


<script>
$(function () { 
    var chart = new Highcharts.Chart({ 
        
        chart:{
            renderTo:'container',//图表描绘出后放到页面的某一具体位置
            type:'pie',//饼图 line线性图,colmun柱状图
            //边距是指图表的外边与图形区域之间的距离,数组分别代表上、右、下和左。要想单独设置可以用marginTop,marginRight,marginBotton 和 marginLeft.
            marginTop:80,
            marginRight:40,
            //3D图像设置项。3D效果需要引入highcharts-3d.js,下载或者在线路径为code.highcharts.com/highcharts-3d.js.
            options3d:{
                enabled:true,//画图表是否启用3D函数,默认值为:false
                alpha:10//3D图旋转角度,此为α角,内旋角度默认为0
                //beta:25,//3D图旋转角度,此为β角,外旋角度 默认为0
                //图表的全深比,即为3D图X,Y轴的平面点固定,以图的Z轴原点为起始点上下旋转,值越大往外旋转幅度越大,值越小往内旋转越大,depth的默认值为100
                //默认是: 100
                //depth:70,
                //viewDistance: 25//它定义了观看者在图前看图的距离,它是非常重要的对于计算角度影响在柱图和散列图,此值不能用于3D的饼图,默认值为100
            }
            
        },
        
        
        /************标题***************/
        //标题默认显示在图表的顶部,包括标题和副标题(subTitle),其中副标题是非必须的。
        //主标图
        title: { 
            text:'浏览器占市场比例'
            
        }, 
        //副标题
        subtitle: { 
            
        },
        
        
        //plotOptions用于设置图表中的数据点相关属性。
        plotOptions: { 
            pie:{
                // 是否将每个系列的值叠加在彼此的顶部上。 
                //stacking: 'normal',
                allowPointSelect:true,
                cursor:'pointer',
                dataLabels:{
                    enabled:true,
                    format:'{point.name}'
                }
                //depth:25
            }
            
        },
        
        /************坐标轴***************/
        //所有的图表除了饼图都有X轴和Y轴,默认情况下,x轴显示在图表的底部,y轴显示在左侧
        //(多个y轴时可以是显示在左右两侧),通过设置chart.inverted = true 可以让x,y轴显示位置对调
        //xAxis: { 
            //获取月份的简称
            //categories: Highcharts.getOptions().lang.shortMonths
            //categories:['A','B','C','D','E']
        //}, 
        //yAxis: { 
            //是否在正常显示的对立面显示轴。
            //正常是垂直坐标轴显示在左边,水平坐标轴显示在底部,因此对立面就是垂直坐标轴显示在右边和水平坐标轴显示在顶部,这通常用于有两个或多个坐标轴。
            //opposite: true
        //},
        
        /*************版权信息**********************/
        credits:{
             enabled:false // 禁用版权信息
        },
        
        /*************数据提示框**********************/
        //tooltip: { valueSuffix: '°C' }, 
        tooltip: {
            headerFormat: '<b>{point.key}</b><br>',
            pointFormat: '<span style="color:{series.color}">\u25CF</span> {series.name}: {point.percentage:.lf}%'
        },
        
        
        
        /************图例***************/
        //省略图例会在下面显示
        //也可以设置 设置在下方
        legend: { 
            //layout: 'horizontal',//horizontal,vertical
            //align: 'center', 
            //verticalAlign: 'bottom', 
            //borderWidth: 0 
            //enabled:false//关闭图例
        }, 
        
        
        /*****************数据列******************/
        /*
        series: [
            { 
                name: 'Sales', 
                //data: [2, 3, 5, 7, 9, 5, 1, 4, 6, 3]
                //如果有个值为空的话,只需设为null
                data: [2, 3, 5, null, 9, 5, 1, 4, 6, 3]
                
            }
        ]*/
        /*
         series: [{
            name: 'AA',
            data: [5, 3, 4, 7, 2],
            //此选项允许在堆叠图表中的分组系列。堆栈选项可以是一个字符串或一个数字或其他任何东西,只要分组的系列“堆栈选项”相互匹配。
            stack: '1'
        }, {
            name: 'BB',
            data: [3, 4, 4, 2, 5],
            stack: '1'
        }, {
            name: 'CC',
            data: [2, 5, 6, 2, 1],
            stack: '2'
        }, {
            name: 'CC',
            data: [3, 0, 4, 4, 3],
            stack: '2'
        }]
        */
        series: [{
            type: 'pie',
            name: '所占比例',
            data: [
                ['Firefox',   45.0],
                ['IE',       26.8],
                {
                    name: 'Chrome',
                    y: 12.8,
                    sliced: true,//属于饼图,是否显示
                    selected: true//是否默认选中
                },
                ['Safari',    8.5],
                ['Opera',     6.2],
                ['Others',   0.7]
            ]
        }]
    });
    
    /*
    chart: {
            renderTo: 'container',
            type: 'column',
            margin: 75,
            options3d: {
                enabled: true,
                alpha: 15,
                beta: 15,
                depth: 50,
                viewDistance: 25
            }
        },
        title: {
            text: 'Chart rotation demo'
        },
        subtitle: {
            text: 'Test options by dragging the sliders below'
        },
        plotOptions: {
            column: {
                depth: 25
            }
        },
        series: [{
            data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
        }]
    });
    */
    /*
    
    $('#R0').on('change', function(){
        chart.options.chart.options3d.alpha = this.value;
        showValues();
        chart.redraw(false);
    });
    $('#R1').on('change', function(){
        chart.options.chart.options3d.beta = this.value;
        showValues();
        chart.redraw(false);
    });

    function showValues() {
        $('#R0-value').html(chart.options.chart.options3d.alpha);
        $('#R1-value').html(chart.options.chart.options3d.beta);
    }
    showValues();
    
    */
});
</script>


</head>




<body>
<div id="container" style="min-width:700px;height:400px"></div>



<!-- 调节部分 -->
<div id="sliders" style="min-width:310px;max-width: 800px;margin: 0 auto;"> 
    <table>
        <tr>
            <td>Alpha Angle</td><!-- 内旋角 -->
            <td>
                <input id="R0" type="range" min="0" max="45" value="15"/> 
                <span id="R0-value" class="value"></span>
            </td>
        </tr> 
        <tr>
            <td>Beta Angle</td><!-- 外旋角 -->
            <td>
                <input id="R1" type="range" min="0" max="45" value="15"/> 
                <span id="R1-value" class="value"></span>
            </td>
        </tr> 
    </table>
</div>
</body>

</html>
图片.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 207,113评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,644评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,340评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,449评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,445评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,166评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,442评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,105评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,601评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,066评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,161评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,792评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,351评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,352评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,584评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,618评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,916评论 2 344

推荐阅读更多精彩内容