【发布时间】:2017-03-22 13:03:05
【问题描述】:
我有一个类似于this 在线示例的C3 饼图。就我而言,我根据传入的外部数据设置 data.colors 。
我的设置如下所示(我传入要使用的颜色)...
this.pieChart = generate({
data: {
columns: columns,
colors: colours,
type: 'pie',
onclick: (e) => {
this.handlePieClick(e.id);
},
},
bindto: '#pie-chart',
tooltip: {
show: false
},
transition: {
duration: 1000
},
legend: {
item: {
onclick: id => {
this.handlePieClick(id);
}
}
},
});
我的应用无法控制这些颜色。当颜色较浅时,很难看到白色文字。我可能混合了浅色和深色。我需要做的是检查每种颜色,然后能够为每个饼图的文本颜色设置白色或黑色的文本,但是我看不到我可以覆盖的回调函数来执行此操作。
有谁知道这样做的方法吗?最重要的是我无法控制输入的颜色,一旦我有了颜色数据,就需要在代码中设置文本颜色。
提前感谢您的帮助!
【问题讨论】:
-
你能为你的代码创建jsfiddle吗?
-
这可以通过 css 实现,在您的示例中,您希望拥有像
.c3-chart-arc text{ fill: black;}这样的东西,更多类可以在 reference(底部)中找到。您始终可以通过浏览器中的开发工具检查您的图表。在最坏的情况下,您必须在 d3 内直接操作图表。
标签: javascript c3.js