html 圆饼画布,html5 canvas画饼

1a4df43cf9c27b4eab8635df0fe4bdc8.png

​2. [文件] lqdpie.html ~ 801B     下载(7)

刘强东吃饼

Your browser does not support the HTML5 canvas tag.

var config = {

id: 'p',

type: '%',

data: [

['刘强东',18.4],['老虎基金',22.1],['HHGL',15.8],['DST',11.2],['BAI',9.5],['Fortune ising',5.3],['Kingdom',5.0],['红杉资本',2.0],

]

};

var p= pie(config);

p.render();

3. [文件] pie.js ~ 3KB

(function() {

var Pie = (function() {

var F = function(conf) {

this.type=null;

this.id=null;

this.total=0;

this.container=null;

this.data=[];

this.init(conf);

return this;

};

F.prototype = {

defaultBgcolor: ['deeppink', 'mediumslateblue', 'chartreuse', 'goldenrod', "#ffff00", "#2F368F", "#F6A25D", "#2CA8E0", "#77D1F6", '#181818', '#45AB35', "#336699", "#5fD1F6"],

init: function(options) {

for (var p in options) {

this[p] = options[p];

}

this.container = document.getElementById(this.id);

},

percentize: function() {

if (this.type && this.type == '%') {

var sum = 0;

for (var i = 0; i < this.data.length; i++) {

sum += this.data[i][1];

if (this.data[i + 1] && (sum + this.data[i + 1][1]) > 100) {

break;

}

}

if (i != this.data.length) {

this.data = this.data.splice(0, i + 1);

}

if (sum != 100) {

this.data.push(['?', Math.ceil(100 - sum), '#282828']);

}

} else {

var sum = 0;

for (var i = 0; i < this.data.length; i++) {

sum += this.data[i][1];

}

if (0 == this.total) {

this.total = sum;

}

if (this.total - sum > 0) {

this.data.push(['?', this.total - sum, '#282828']);

}http://www.enterdesk.com/special/shouhui/​

for (var i = 0; i < this.data.length; i++) {

this.data[i][1] = Math.round((this.data[i][1] / this.total) * 100);

}手绘图片

}

},

renderPie: function() {

var x = this.container.clientWidth * .33;

var y = this.container.clientHeight * .5;

var radius = (x > y) ? y : x;

var ctx = this.container.getContext("2d");

var startPoint = 0;

for (var i = 0; i < this.data.length; i++) {

if (null == this.data[i][2]) {

this.data[i][2] = this.defaultBgcolor[i % this.defaultBgcolor.length];

}

ctx.fillStyle = this.data[i][2];

ctx.beginPath();

ctx.moveTo(x, y);

ctx.arc(x, y, radius, startPoint, startPoint + Math.PI * 2 * (this.data[i][1] / 100), false);

ctx.fill();

startPoint += Math.PI * 2 * (this.data[i][1] / 100);

}

return true;

},

renderLabel: function() {

var table = ['

for (var i = 0; i < this.data.length; i++) {

table.push('

  ');

table.push(this.data[i][0]);

table.push("

");

if (this.type && this.type == '%') {

table.push(this.data[i][1] + "%");

} else {

table.push(Math.ceil(this.total * this.data[i][1] / 100));

}

table.push("

");

}

table.push("

");

this.container.insertAdjacentHTML("afterEnd", '

 ' + table.join("") + '
');

},

render: function() {

this.percentize();

this.renderPie();

this.renderLabel();

return true;

}

};

var Pie = function(conf) {

return new F(conf);

},

r;

return Pie;

})();

window.pie = Pie;

})(window);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Visio是微软公司开发的一款流程图绘制软件,它可以帮助用户快速、高效地创建各种类型的流程图、组织结构图、网络拓扑图等。对于Visio软件中是否有1/4圆饼这个问题,根据我的了解,在Visio中可以找到以圆形为基础的图形,如圆形、椭圆形、扇形等,但是具体是否有1/4圆饼这个图形,需要查看Visio软件的图形库里面是否有相应的选项。如果软件自带的图形库里面没有1/4圆饼这个选项,也可以自行绘制一个1/4圆饼。Visio支持用户以自由绘制的方式创建图形,只要掌握了相应的绘制技巧,就可以轻松地绘制出想要的图形。因此,在使用Visio软件时,可以灵活运用自由绘制功能,或者在图形库中寻找相似形状的图形进行组合,既能满足绘制需求,又能提高效率。总之,无论是否有1/4圆饼这个选项,在Visio软件中都有多种方法可以帮助用户实现各种图形的绘制。 ### 回答2: 是的,Visio中有1/4圆饼图形可供使用。在Visio中,您可以找到各种不同类型的图形,包括流程图、组织结构图、平面图、地图和图表等等。当您需要绘制一个1/4圆饼图时,只需在Visio中选择一个适合的图形,并将其拖动到画布上。然后,您可以使用Visio的绘图工具来对该图形进行任何必要的修改和编辑,使其符合您的需求和要求。如果您需要更多关于Visio的帮助和指导,您可以参考Microsoft官方网站或者在线教程,或者通过搜索引擎搜索相关问题和答案。 ### 回答3: Visio 是一种非常流行的绘图软件,被广泛应用于绘制平面图、流程图、组织架构图、网络拓扑图等等。关于 Visio 是否有 1/4 圆饼这个问题,以下是我的回答: Visio 作为一款专业的绘图软件,可以绘制各种几何图形,如矩形、圆形、梯形、三角形、菱形等等。但是,Visio 中是否有 1/4 圆饼这种图形,需要根据具体的需求而定。 如果只是简单的画一个 1/4 圆饼,那么我们可以选择绘制一个圆形,然后再在圆形上添加一个透明度为 75% 的长方形,将长方形旋转 45 度,缩小长方形的一端,就可以得到一个 1/4 圆饼的形状。 如果需要频繁绘制 1/4 圆饼或其他特定的几何图形,我们可以借助 Visio 中的“自定义图形”功能,将这些图形保存为组件,以便快速复用。 总之,Visio 中虽然没有直接的 1/4 圆饼工具,但是我们可以通过一些技巧和工具来达到绘制 1/4 圆饼和其他几何图形的目的。当然,对于 Visio 的高级用户来说,也可以通过编写 VBA 宏等方式来实现自定义功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值