默认情况下,g.raphaeljs饼图显示从图表顶部沿两个方向均匀延伸的最大值,顺时针方向显示较小的值。
在下图中,最大值(1)从大约7点开始。我希望从12点开始显示最大的价值,怎么办呢?
答案 0 :(得分:6)
好的,找到它(并且它可以100%)......在这里:Added opts.startFromFixedAngle, so the 1st pie-slice will start paint…
Here is a working jsfiddle I just did : g raphael pie with starting angle set to 90
不要忘记使用新参数startFromFixedAngle
这是代码......
将以下内容应用到g.pie.js
替换
angle = 0,
带
angle = opts.startFromFixedAngle || 0,
除去
var mangle = angle - 360 * values[i] / total / 2;
if (!i) {
angle = 90 - mangle;
添加
var mangle;
if (opts.startFromFixedAngle)
mangle = angle + 360 * values[i] / total / 2;
else {
mangle = angle - 360 * values[i] / total / 2;
if (!i) {
angle = 90 - mangle;
mangle = angle - 360 * values[i] / total / 2;
}
答案 1 :(得分:3)
上面的解决方案过于复杂,并且会破坏任何依赖于mangle的动画效果(例如在此处找到的那个:RaphaelJs Pie Chart Animation on Hover)。如果您想要的只是一个固定的起始角度,那么单行更改就足够了,但如果您想使用上面的参数,则可以替换
if (!i) {
angle = 90 - mangle;
mangle = angle - 360 * values[i] / total / 2;
}
与
if (!i) {
if (opts.startFromFixedAngle) {
angle = opts.startFromFixedAngle;
} else {
angle = 90 - mangle;
}
mangle = angle - 360 * values[i] / total / 2;
}
在我的情况下,我只是希望所有饼图都以90度标记开始,所以我只是删除了#34; - mangle"来自第一个区块的代码。