javascript - 在 c3.js 上自定义图表点

标签 javascript d3.js c3.js

我想要一个带有空(内部没有填充)点的面积图。

我一直在尝试定制自己的CSS,但似乎不可能做出我想要的东西。

我发现的只有一种方法 - 将功能添加到我的图表中:

onrendered={() => {
      d3.selectAll("circle")
      .style("fill", "white")
      .style("stroke", "black");
   }} 

但是当页面加载时,我仍然会看到一段时间的填充点。

有没有一种方法可以使用 CSS 或不使用 onrendered 函数来实现无填充点?

enter image description here

enter image description here

最佳答案

如果所有点共享相同的颜色就可以了,那么这在普通 css 中就非常简单了,我们想要将描边设置为黑色(或其他),将描边宽度设置为 1 px,并将填充设置为白色(没有一个会显示下面的线/区域):

circle {
  stroke: black;
  stroke-width: 1px;
  fill: white !important;
}

这是修改 examples 之一的快速演示来自 c3.js 文档。我已经包含了上面的 css,并展示了如果您想以不同的方式平衡半径和描边宽度,如何修改点半径:

var chart = c3.generate({
    data: {
        columns: [
            ['data1', 30, 200, 100, 400, 150, 250],
            ['data2', 50, 20, 10, 40, 15, 25]
        ],
        types:{
          data1: 'line',
          data2: 'area'
        }
    },
    point: {
      r: 3 // default is 2.5
    }
});
circle {
  stroke: black;
  stroke-width: 1px;
  fill: white !important;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/4.10.0/d3.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/c3/0.5.2/c3.js"></script>

<link rel="stylesheet" type="text/css" href="https://rawgit.com/masayuki0812/c3/master/c3.css">

<div id="chart"></div>

关于javascript - 在 c3.js 上自定义图表点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49759401/

相关文章:

javascript - 我们可以使用谷歌闭包创建一个带有复选框和组合框的对话框吗

javascript - 如何使用 Rotativa 生成 PDF,包括来自 C3JS Asp.net 的图表

javascript - 传递回调的正确方法是什么?

javascript - Chrome 没有运行 D3.js

d3.js - d3 过渡等待上一个?

dynamic - 如何使用新数据更新 d3.js 条形图

c3.js - 如何使用 Keen.io 和 c3 以绝对值而不是百分比绘制 donut ?

javascript - C3 图表未在 React 项目中呈现

Javascript Service Worker - 如何在浏览器关闭时触发事件

javascript - 在 Chrome Puppeteer 中获取 XPath 列表的正确方法