我正在尝试使用 JavaScript 和 HTML5 画布开发动态漏斗图。我可以很好地绘制元素,唯一的问题是我的数学。我希望我的图表在每一侧都有一个线性斜率,以形成一个倒置的圆锥体。问题是我不知道是否可以用我拥有的信息量来完成。所以,这是我所拥有的信息:
- 总图的宽度和高度(分别为 250x300)
- 整个图的两个主基的长度(250和30)
- 总图面积(42000像素)((250+30)/2)*300
- 将有多少个阶段(为简单起见,假设为 3)
- 每个阶段将占用的面积百分比(假设每个阶段分别为 30%、50% 和 20%)
- 图的斜率/角度(上升/运行)300/110(它不是一个完美的三角形,第二个底边的长度为 30)
每个阶段都是梯形(以及图形本身)。现在,我可以使用什么公式来创建一个漏斗图,在给定斜率和舞台梯形的第一个底边的情况下,使每个舞台的高度正确?
我已经尝试过,但我似乎无法使数学工作。要么一个阶段对坡度太长,要么另一个阶段太小,导致坡度不一致。我需要坡度保持一致,并且只有舞台的高度可以改变。
我能找到的最接近我想要的图像是:
http://dwh01.unife.it/microstrategy/help/WebUser/WebHelp/Lang_1033/images/defining_funnel_widget.gif