【问题标题】:how to create bubble pie chart in dimple js如何在dimple js中创建气泡饼图
【发布时间】:2020-08-16 16:39:07
【问题描述】:

我是酒窝新手,在创建气泡饼图时遇到了问题。我希望每个气泡也是显示区域百分比的饼图。我尝试使用myChart.addSeries(["North America", "Latin America"], dimple.plot.pie); 插入饼图,但没有成功。有什么建议么?谢谢!

function draw(data) {
  /*
  D3.js setup code
  */
  "use strict";
  var margin = 75,
      width = 1400 - margin,
      height = 600 - margin;

  var svg = d3.select("body")
  .append("svg")
  .attr("width", width + margin)
  .attr("height", height + margin)
  .append('g')
  .attr('class','chart');         
  /*
          Dimple.js Chart construction code
        */
  var myChart = new dimple.chart(svg, data);
  myChart.addCategoryAxis("x", "Target Date");
  myChart.addCategoryAxis("y", "Target Reduction");
  myChart.addMeasureAxis("z", "Number of Cities");

  myChart.addSeries(
    ["Cities",
     "North America",
     "Latin America"],
    dimple.plot.bubble);

  //myChart.addSeries(["North America", "Latin America"], dimple.plot.pie);

  myChart.addLegend(180, 10, 360, 20, "right");
  myChart.draw();
  /*
  Add horizontal line at 50%
  */
  svg.append("line")
    .attr("x1", margin+65)
    .attr("x2", 1250)
    .attr("y1", 325)
    .attr("y2", 325)
    .style("stroke", "red")
    .style("stroke-dasharray", "3");
  /*
          Add horizontal line at 85%
        */
  svg.append("line")
    .attr("x1", margin+65)
    .attr("x2", 1250)
    .attr("y1", 180)
    .attr("y2", 180)
    .style("stroke", "red")
    .style("stroke-dasharray", "3");
  /*
            Add chrt title
          */
  svg.append("text")
    .attr("x", myChart._xPixels() + myChart._widthPixels() / 2)
    .attr("y", myChart._yPixels() - 20)
    .style("text-anchor", "middle")
    .style("font-family", "sans-serif")
    .style("font-weight", "bold")
    .style("font-size", "20px")
    .text("Emissions Targets set by CDP Cities");


};

d3.csv("data.csv", draw);
<style></style>
<body></body>  

【问题讨论】:

  • 我认为如果您能与我们分享您的数据会更好。 Plunker 更新也会有所帮助。
  • 很乐意这样做。如何共享我的数据?
  • 您可以创建工作代码HERElink
  • 很遗憾我无法让 Plunker 工作,但数据和代码都在这里...plnkr.co/edit/o87vvK7OJsxNnRzrb4tE?p=preview

标签: javascript charts dimple.js


【解决方案1】:

这引起了我的兴趣,所以我使用 RGraph 创建了一个演示。这不是一个微不足道的代码 - 但它确实可以完成工作,并且可以在下载中获得

demos/scatter-bubble-pie-chart.html

你可以在这里下载:

https://www.rgraph.net/download.html#stable

【讨论】:

  • 令人印象深刻!总是很高兴看到除了酒窝以外的其他图书馆。我相信这会对其他观众有用!
【解决方案2】:

从dimples-master 下载有一个馅饼气泡的演示(代码如下)。或在这里查看演示http://dimplejs.org/examples_viewer.html?id=pie_bubble

<!DOCTYPE html>
<meta charset="utf-8">
<html>
<div id="chartContainer">
  <script src="/lib/d3.v3.4.8.js"></script>
  <script src="/dist/dimple.v2.2.0.js"></script>
  <script type="text/javascript">
    var svg = dimple.newSvg("#chartContainer", 590, 400);
      d3.tsv("/data/example_data.tsv", function (data) {
        data = dimple.filterData(data, "Date", "01/12/2012");
        var myChart = new dimple.chart(svg, data);
        myChart.setBounds(60, 30, 500, 330)
        myChart.addMeasureAxis("y", "Unit Sales Monthly Change");
        myChart.addMeasureAxis("x", "Price Monthly Change");
        myChart.addMeasureAxis("p", "Operating Profit");
        myChart.addMeasureAxis("z", "Operating Profit");
        myChart.addSeries(["Owner", "Channel"], dimple.plot.pie);
        myChart.addLegend(200, 10, 360, 20, "right");
        myChart.draw();
      });
  </script>
</div>
</html>

【讨论】:

    猜你喜欢
    • 2018-06-28
    • 1970-01-01
    • 2021-09-20
    • 2018-12-18
    • 1970-01-01
    • 2016-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多