2

我有一个 SQL 数据库,我正在 Visual Studio for Web 中构建一个 Web 服务。我正在使用引导程序来构建我的 Web 表单并使用 D3plus 进行可视化。我写了以下测试样本:

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <link href="Content/bootstrap.min.css" rel="stylesheet"/>
    <script src="scripts/d3.js"></script>
    <script src="scripts/d3plus.js"></script>

</head>
<body>

 <form id="form1" runat="server">

<div class="col-lg-6">
     <div id="exports"></div>
</div>


<script>
  // sample data array
  var trade_data = [
    {"usd": 34590873460, "product": "Oil"},
    {"usd": 12897429187, "product": "Cars"},
    {"usd": 8974520985, "product": "Airplanes"},
    {"usd": 9872342, "product": "Apples"},
    {"usd": 6897234098, "product": "Shoes"},
    {"usd": 590834587, "product": "Glass"},
    {"usd": 987234261, "product": "Horses"}
  ]
  // instantiate d3plus
  var visualization = d3plus.viz()
    .container("#exports")
    .data(trade_data)
    .type("tree_map")
    .id("product")
    .size("usd")
    .labels({"align": "left", "valign": "top"})
    .draw()
</script>

</form>
</body>
</html>

本质上,我希望图表位于屏幕宽度一半的容器中。如果我不嵌套exports,则该图有效。但是,如果我嵌套它,则找不到数据。我犯了一个明显的错误吗?我将非常感谢社区的反馈。谢谢!

4

1 回答 1

2

引导程序中的 csscol的最小高度为 1px。 d3plus正在解析这个高度,然后无法以 1px 呈现图表。您可以通过指定显式高度来解决此问题:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">

  <head runat="server">
    <title></title>
    <script data-require="d3@3.5.3" data-semver="3.5.3" src="//cdnjs.cloudflare.com/ajax/libs/d3/3.5.3/d3.js"></script>
    <link data-require="bootstrap-css@3.3.6" data-semver="3.3.6" rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.css" />
    <script src="https://rawgit.com/alexandersimoes/d3plus/master/d3plus.full.js"></script>
  </head>

  <body>
    <form id="form1" runat="server">
      
      <div class="col-lg-6">
        <div id="exports"></div>
      </div>

  <script>
  // sample data array
  var trade_data = [
    {"usd": 34590873460, "product": "Oil"},
    {"usd": 12897429187, "product": "Cars"},
    {"usd": 8974520985, "product": "Airplanes"},
    {"usd": 9872342, "product": "Apples"},
    {"usd": 6897234098, "product": "Shoes"},
    {"usd": 590834587, "product": "Glass"},
    {"usd": 987234261, "product": "Horses"}
  ]
  // instantiate d3plus
  var visualization = d3plus.viz()
    .container("#exports")
    .data(trade_data)
    .type("tree_map")
    .id("product")
    .size("usd")
    .labels({"align": "left", "valign": "top"})
    .height(250) //<-- explicit height
    .draw()
      </script>
        </form>
  </body>

</html>

于 2016-06-05T22:27:16.983 回答