Javascript 如何设置g.raphaeljs piechart方向或起点?
默认情况下,g.raphaeljs piecharts显示从图表顶部向两个方向均匀延伸的最大值,较小的值顺时针显示 在下图中,最大值(1)大约在7点钟开始。我想显示12点开始的最大值,如何实现 好的,找到了(并且它100%工作”)。。。在这里: 不要忘记使用新参数Javascript 如何设置g.raphaeljs piechart方向或起点?,javascript,svg,raphael,graphael,Javascript,Svg,Raphael,Graphael,默认情况下,g.raphaeljs piecharts显示从图表顶部向两个方向均匀延伸的最大值,较小的值顺时针显示 在下图中,最大值(1)大约在7点钟开始。我想显示12点开始的最大值,如何实现 好的,找到了(并且它100%工作”)。。。在这里: 不要忘记使用新参数startFromFixedAngle 这是代码 将以下内容应用于您的g.pie.js 替换 angle = 0, 与 除去 var mangle = angle - 360 * values[i] / total / 2;
startFromFixedAngle
这是代码
将以下内容应用于您的g.pie.js
替换
angle = 0,
与
除去
var mangle = angle - 360 * values[i] / total / 2;
if (!i) {
angle = 90 - mangle;
加
上面的解决方案过于复杂,会破坏任何依赖于mangle的动画效果(例如,在这里找到的:)。如果您想要的只是一个固定的起始角度,那么一行更改就足够了,但是如果您想要使用如上所述的参数,则可以替换
if (!i) {
angle = 90 - mangle;
mangle = angle - 360 * values[i] / total / 2;
}
与
在我的例子中,我只是希望所有饼图都从90度开始,所以我只需从第一个块的代码中删除“-mangle”。尝试使用*g.pie.js*,就在那行之后
var mangle=angle-360*value[I]/total/2代码>,例如mangle=mangle+70代码>当然,你需要一些更聪明的计算……谢谢@Daniel,这就行了。现在,我希望计算出使其可靠工作所需的计算。仅供参考,您的链接小提琴现在因Chrome 26.0.1410.65+1下的语法错误而失败,用于一个工作修复,-90度作为起始角度可以制作出美妙的吃豆人风格的饼图。由于raw.github不再工作,演示程序无法工作。如果您(出于某种原因)希望以0度开始饼图,则对于一次有效访问,此操作将失败。我最终采用了这个解决方案,但添加了一个非null opts.startFromFixedAngle的检查。
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;
}
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;
}