我一直在尝试构建一个与 WIX 兼容的圆环图。我需要图表具有某种交互性,至少需要鼠标悬停效果。
由于 Google API 没有甜甜圈图。我制作了两个饼图,目的是将较小的饼图放入另一个饼图中。我还使用了 pieHole 选项在每个饼图中创建了一个洞。
在我弄清楚如何将两个 div 放在一起之后,我现在正在努力解决图片中显示的问题。包含较小饼图的 div 用较大的饼图覆盖了 div。如何使 div 的背景透明,同时保持内容(较小的饼图)稳定?
欢迎任何想法。先感谢您!
您可以使用 pieHole 选项,将其设置为 0 到 1 之间的值。带有示例的 Api 文档。
看起来 Google Chart API 没有甜甜圈图选项......这个 bihappy post演示了如何通过在饼图顶部放置一个圆圈层来欺骗它:
在你的脑海中...
<script type="text/javascript" src="https://www.google.com/jsapi"></script> <script type="text/javascript"> google.load("可视化", "1", {packages:["corechart"]}); google.setOnLoadCallback(drawChart); 函数绘制图表(){ var data = new google.visualization.DataTable(); data.addColumn('string', 'Task'); data.addColumn('number', '每天的小时数'); 数据.addRows([ ['A', roundNumber(11*Math.random(),2)], ['B', roundNumber(2*Math.random(),2)], ['C', roundNumber(2*Math.random(),2)], ['D', roundNumber(2*Math.random(),2)], ['E', roundNumber(7*Math.random(),2)] ]); 变量选项 = { 宽度:450,高度:300, 颜色:['#ECD078','#D95B43','#C02942','#542437','#53777A'], 图例:{位置:'无'}, 动画:{ 持续时间:800, 缓动:“在” } }; var chart = new google.visualization.PieChart(document.getElementById('chart_div')); chart.draw(数据,选项); } 函数 roundNumber(num, dec) { var 结果 = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec); 返回结果; } </脚本>
在你的身体...
<div id="link_div" style="z-index: 3; position: absolute; left: 180px; top: 30px;"> <a href="javascript:drawChart()">更改数据</a> <div id="chart_div" style="z-index: 1; position: absolute; left: 0px; top: 20px;"></div> <div id="circle_div" style="z-index: 2; position: absolute; left: 180px; top: 127px;"> <img src="circle.png"></div>