首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gRaphael饼图动态大小

gRaphael饼图动态大小
EN

Stack Overflow用户
提问于 2012-03-23 21:18:38
回答 1查看 1.2K关注 0票数 4

我想在某些事件后放大gRaphael pie chart,例如单击。但是gRaphael饼图是在窗口加载后使用静态宽度和高度创建的。是否可以实时动态重绘它?

我的代码:

代码语言:javascript
复制
var myRadius;

myRadius = 200;

var myChart = Raphael("myChartDiv"), 
    myChartPie = myChart.piechart(
        myRadius, // cx
        myRadius, // cy
        myRadius, //Radius
        [70, 30], //Data    
        {           
        colors: ["#eb5e57", "#ebad50"],         
        stroke: "#f1eeea"       
        }
    );

$('#myButton').click(function(){
     myRadius = 500; 
     myChart.clear(); //Clear current canvas
     // Do something to insert myChart with new myRadius
});

当然,我可以在点击当前图表后删除并创建新的图表,但这不是一种方法,因为我需要在其他点击后返回原始大小。

EN

回答 1

Stack Overflow用户

发布于 2013-04-11 20:02:04

你只需要像在this fiddle上一样清理并重绘你的饼。

代码语言:javascript
复制
var myRadius;

myRadius = 200;

var myChart = Raphael("myChartDiv"), 
    myChartPie = myChart.piechart(
        myRadius, // cx
        myRadius, // cy
        myRadius, //Radius
        [70, 30], //Data    
        {           
            colors: ["#eb5e57", "#ebad50"],         
            stroke: "#f1eeea"       
        }
    );

$('#myButton').click(function(){
    if(myRadius == 200)
         myRadius = 500; 
    else
        myRadius = 200;
    myChart.clear();
    myChartPie = myChart.piechart(
        myRadius, // cx
        myRadius, // cy
        myRadius, //Radius
        [70, 30], //Data    
        {           
            colors: ["#eb5e57", "#ebad50"],         
            stroke: "#f1eeea"       
        }
    );
});

当然,数据和选项应该被分解并放在全局范围内以便于使用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9839909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档