D3.js 在多系列线点图表上显示点时出错

D3.js 在多系列线点图表上显示点时出错,d3.js,line,data-visualization,D3.js,Line,Data Visualization,正如您在代码段中看到的,我希望在我的多系列行上显示点。但我遇到了一个严重的问题。我的点没有正确绘制,所有的点都不是圆的。 我的数据是JSON格式的 我认为问题在于 points.selectAll("circle") .data(function(d){return d.values}) .enter() .append("circle") .attr("r", 3) .attr("cx", function(d) { return xScale(d.log_time); }) .attr("c

正如您在代码段中看到的,我希望在我的多系列行上显示点。但我遇到了一个严重的问题。我的点没有正确绘制,所有的点都不是圆的。 我的数据是JSON格式的 我认为问题在于

points.selectAll("circle")
.data(function(d){return d.values})
.enter()
.append("circle")
.attr("r", 3)
.attr("cx", function(d) { return xScale(d.log_time); })
.attr("cy", function(d) { return yScale(d.temperature); })
.style("fill", function(d,i,j) { return color(products[j].id); });
你知道怎么解决这个问题吗

按系列应该有15个点

我应该改变线条的形状吗

//设置屏幕尺寸
var margin={顶部:20,右侧:200,底部:150,左侧:50},
margin2={顶部:430,右侧:10,底部:20,左侧:40},
宽度=1600-边距。左侧-边距。右侧,
高度=600-margin.top-margin.bottom,
高度2=500-边缘2.顶部-边缘2.底部;
//带有数据日志格式示例的时间分析器
var parseTime=d3.time.format(“%m/%d/%Y%H:%m:%S%p”).parse;
var bisectDate=d3.bisector(函数(d){return d.log_time;});
var xScale=d3.time.scale()
.范围([0,宽度]),
xScale2=d3.time.scale()
.范围([0,宽度];//重复的xScale用于刷牙参考
var yScale=d3.scale.linear()
.范围([高度,0]);
//40种定制DDV颜色
3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3、“56AE77AE777C C C”、“64B98C C”、、“QQQQQQQQ98C-98C”、、“7B98C-98C”、、“72C39C39C39B”、、“72C398C399C”、、、、、“72C398C399B”、、QQQQQQQQQQQ33999C C”、、99C”、、、、QQQQQQQQQQ3399C”、、QQQ339C”CD“,”9788CD“,”9E81CC“,”AA81C5“,”B681BE“,”C280B7“,”CE80B0“,”D3779F“,”D76D8F“,”DC647E“,”E05A6D“,”E16167“,”E26962“,”E2705E“,“E37756”、“E38457”、“E39158”、“E29D58”、“E2AA59”、“E0B15B”、“DFB95C”、“DDC05E”、“DBC75F”、“E3CF6D”、“EAD67C”、“F28A”);
var xAxis=d3.svg.axis()
.scale(xScale)
.orient(“底部”),
xAxis2=d3.svg.axis()//笔刷滑块的xAxis
.scale(xScale2)
.东方(“底部”);
var yAxis=d3.svg.axis()
.刻度(yScale)
.东方(“左”);
var line=d3.svg.line()
.插入(“基础”)
.x(函数(d){return xScale(d.log_time);})
.y(函数(d){返回yScale(d.温度);})
.defined(函数(d){return d.temperature;});//隐藏缺失数据的默认行值0
var maxY;//稍后定义以更新yAxis
var svg=d3.选择(“正文”).追加(“svg”)
.attr(“宽度”,宽度+边距。左侧+边距。右侧)
.attr(“height”,height+margin.top+margin.bottom)//height+margin.top+margin.bottom
.附加(“g”)
.attr(“转换”、“平移”(+margin.left+)、“+margin.top+”);
//为鼠标跟踪创建不可见的矩形
svg.append(“rect”)
.attr(“宽度”,宽度)
.attr(“高度”,高度)
.attr(“x”,0)
.attr(“y”,0)
.attr(“id”,“鼠标跟踪器”)
.样式(“填充”、“白色”);
var data={“Header”:{“add_data”:“N/A”,“add_data_2”:“N/A”,“add_data_3”:“N/A”,“device_type”:“PCU12_r7p1_ELFR”,“diags”:“PCU12_r7p1_72h.s19”
,“输入数量”:“84”,“文件路径”:“C:\\Winapps\\MBI\\logs\\PCU12\\248649_7_PCU12_M2_ELFR72H_DriverMonitor.log”,“找到数量”:“84”,“信息系统”:“系统ZFR11-CC3-11 MBI刻录向导6.8.10-”,“批次ID”:“248649_7_PCU12_M2_ELFR72H”
“开始日志日期”:“4/13/2018 08:31:28 AM”,“系统版本”:“6.8.10”;“会话日志测试”:[{“bib”:“无数据”,“BIU测试”:{},“数据行”:[],“驱动程序”:“无数据”,“错误代码”:“无数据”,“日志时间”:“无数据”,“lotID”:“248649号PCU12号M2号ELFR72H”,“已删除批次”:],“DS”:“无数据”,“5号插槽”,“无数据”,“BIU开始时间”:bin2_测试:{},“数据线”:[],“驱动程序”:“无数据”,“错误代码”:“无数据”,“日志时间”:“无数据”,“洛蒂德”:“248649_7_PCU12_M2_ELFR72H”,“删除批次”:[],“nrds”:{“7”:[],“插槽”:“无数据”,“开始时间”:“无数据”},{“bib”:“01074601150135”,“bin2_测试”:{},“数据线”:“169 169”、“170”、“169”、“169”、“169”、“168”、“170”、“169”、“170”169,“169”,“169”,“169”,“168”,“168”,“168”,“168”,“169”,“167”,“167”,“166”],“驱动程序”:“00000000000000”,“错误代码”:“120”,“日志时间”:“2018年4月13日8:37:45上午”,“洛蒂德”:“248649”PCU12 M2 ELFR72H”,“删除批次”:[],“nrds”:{},“插槽”:“3”,“开始时间”:“2018年4月13日8:32:57上午”;“bib”:“01074150140”,“bin2”;“测试线”;“169“168”、“168”、“167”、“169”、“169”、“170”、“170”、“169”、“167”、“168”、“169”、“170”、“168”、“170”、“167”、“169”、“169”、“170”、“170”、“170”、“169”、“167”]、“驱动程序”:“00000000000000”、“错误代码”:“120”、“日志时间”:“2018年4月13日上午8:37:47”、“洛蒂德”:“248649”PCU12 M2 ELFR72H;“删除的批次”;“nrds”{},“插槽”;“5”、“开始时间”;“4/13/2018年8:32”{01074601150129,“bin2_测试:{},“数据线”:[“169”、“169”、“167”、“167”、“167”、“167”、“165”、“165”、“170”、“170”、“169”、“169”、“169”、“167”、“168”、“168”、“170”、“168”、“167”、“167”、“167”、“169”、“168”、“167”、“166”、“165”],“驱动程序”:“00000000000000”、“错误代码”:“120”、“记录时间”:“2018年4月13日上午8:37:50”、“洛蒂德”:“248649(7)PCU12)M2)”、“ELFU删除批次”[”nrds:{},“插槽”:“7”,“开始时间”:“4/13/2018 8:32:57上午”{“bib”:“01074601150135”,“bin2测试”:{},“数据线”:[“170”,“171”,“171”,“172”,“169”,“169”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“170”,“168”,“168”,“168”,“168”,“168”,“169”,“169”,“169”,“169”,“170”,“168”,“167”,“167”,“00000000”,“驾驶员”,“错误代码”,“122”,“日志时间”::”2018年4月13日上午8:40:06,“洛蒂德”:“248649”PCU12 M2 ELFR72H,“地块移除”:[],“nrds”:{},“插槽”:“3”,“开始时间”:“2018年4月13日上午8:32:57”},{“bib”:“01074601150135”,“bin2测试”:{},“数据线”:[“173”,“174”,“174”,“174”,“174”,“172”,“172”,“173”,“173”,“173”,“173”,“173”,“173”,“173”,“173”,“173”,“175”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“171”,“173”,“173”,“173”,“173”,“173”,“173”,“173”,“173”,“173”,“173”,“173”,“173”,“173”,“173”,“173”,“173”,“173”,“173”,“173”,“173”,“169"],
“驱动程序”:“00000000000000”,“错误代码”:“123”,“日志时间”:“2018年4月13日8:40:06上午”,“洛蒂德”:“248649”PCU12_M2_ELFR72H”,“删除批次”:[],“nrds”:{},“插槽”:“3”,“开始时间”:“2018年4月13日8:32:57上午”{“bib”:“01074601150135”,“bin2测试”:{},“数据线”:“172”、“174”、“173”、“173”、“173”、“171”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173”、“173173,“172”,“172”,“171”,“170”,“171”,“171”,“172”,“170”,“170”,“170”,“169”],“驱动程序”:“00000000000000”,“错误代码”:“124”,“日志时间”:“2018年4月13日8:40:06上午”,“洛蒂德”:“248649”PCU12 M2 ELFR72H,“已删除批次”:[],“nrds”:{},“插槽”:“3”,“开始时间”
.interpolate("monotone")