我想覆盖dc.js
中图表的样式我想更改轴,图例等字体,颜色,字体粗细。
在不修改lib的情况下,进行此更改的最佳方法是什么?
答案 0 :(得分:0)
使用CSS可以最好地修改任何不受数据驱动的内容。我通常只使用浏览器的检查器/开发人员工具来确定要使用的正确选择器,但您也可以通过查看sass source for dc.css获得一些线索。
您在上面列出的所有视觉属性都属于此类别。通常,绘图区域之外的任何内容都不是数据驱动的。
图表内部的许多视觉属性也不是数据驱动的。例如,如果您想更改绘图区域内的文本标签,那些样式都来自dc.css,最好用CSS修改。
要更改 数据驱动的任何内容,使用pretransition
挂钩将是最佳方式 - 在添加或删除所有元素后渲染或重绘时会触发此操作(但在它们从旧值转换为新值之前)。
此表格是
chart.on('pretransition', function(chart) {
chart.select('something').attr(...);
});
其中something
是rect.bar
之类的选择器 - 图表内选择器are starting to be documented in the Wiki。