在 c3.js 上自定义图表点
Customize chart points on c3.js
我想要一个带有空点(内部没有填充)的面积图。
我一直在尝试定制我自己的CSS,但似乎不可能做出我想要的。
我发现的唯一方法 - 向我的图表添加函数:
onrendered={() => {
d3.selectAll("circle")
.style("fill", "white")
.style("stroke", "black");
}}
但是当页面加载时,我仍然看到了一段时间的填充点。
有没有使用 CSS 或不使用 onrendered 函数实现无填充点的方法?
如果所有点共享相同的颜色没问题,那么这在普通 css 中非常简单,我们想将描边设置为黑色(或其他),描边宽度为 1 px,并将填充设置为白色(none 将在下面显示 line/area):
circle {
stroke: black;
stroke-width: 1px;
fill: white !important;
}
这是修改 c3.js 文档中的 examples 之一的快速演示。我在上面包含了 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>
我想要一个带有空点(内部没有填充)的面积图。
我一直在尝试定制我自己的CSS,但似乎不可能做出我想要的。
我发现的唯一方法 - 向我的图表添加函数:
onrendered={() => {
d3.selectAll("circle")
.style("fill", "white")
.style("stroke", "black");
}}
但是当页面加载时,我仍然看到了一段时间的填充点。
有没有使用 CSS 或不使用 onrendered 函数实现无填充点的方法?
如果所有点共享相同的颜色没问题,那么这在普通 css 中非常简单,我们想将描边设置为黑色(或其他),描边宽度为 1 px,并将填充设置为白色(none 将在下面显示 line/area):
circle {
stroke: black;
stroke-width: 1px;
fill: white !important;
}
这是修改 c3.js 文档中的 examples 之一的快速演示。我在上面包含了 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>