如何构造.csv文件以允许D3.js将一行与指定的颜色关联?

如何构造.csv文件以允许D3.js将一行与指定的颜色关联?,d3.js,D3.js,我没有这方面的MWE,因为它主要处理在编写D3代码之前的数据预处理 我有一个.csv文件,其基本结构如下: category,value,date cat1,200000,2016-08-07 cat2,500000,2016-08-07 cat3,600000,2016-08-07 cat1,200000,2016-09-07 cat2,500000,2016-09-07 cat3,600000,2016-09-07 等等。任务是为cat1、cat2和cat3中的每一个绘制一个线图,其中x轴

我没有这方面的MWE,因为它主要处理在编写D3代码之前的数据预处理

我有一个
.csv
文件,其基本结构如下:

category,value,date
cat1,200000,2016-08-07
cat2,500000,2016-08-07
cat3,600000,2016-08-07
cat1,200000,2016-09-07
cat2,500000,2016-09-07
cat3,600000,2016-09-07
等等。任务是为
cat1
cat2
cat3
中的每一个绘制一个线图,其中x轴为日期,y轴为值。从我找到的每个示例来看,解决方案似乎是每行必须有一个日期:

date,cat1,cat2,cat3
2016-08-07,200000,500000,600000
2016-09-07,200000,500000,600000
这是有道理的。但是,让我们假设
cat1
cat2
cat3
具有必须与之关联的所需颜色。例如,假设
cat1
的行必须具有颜色
\4472C4
cat2
的行必须具有颜色
\ED7D31
cat3
的行必须具有颜色
\ffc00

构造上述数据的最佳方法是什么,不仅可以轻松绘制线条,还可以将每条线条与指定的颜色关联起来


如果首选MWE,请告诉我,我将删除此问题,直到我准备好足够的MWE。

您可以尝试将每行按类别分类,然后使用css添加颜色,类似于以下内容:

d3.选择全部(“路径”).数据(csv)
.enter().append(“路径”)
.attr(“类”,函数(d){return d.category}


或者,您也可以添加一个可以看到的颜色比例

您可以通过以下方式定义自定义颜色比例:

var color=d3.scaleOrdinal()
.domain(['cat1'、'cat2'、'cat3'])
.范围([“#4472C4”、“#ED7D31”、“#FFC000”]);
log(“color('cat1')==>”,color('cat1'));
log(“color('cat2')==>”,color('cat2'));
console.log(“color('cat3')==>”,color('cat3');