Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
D3.js 向散点图中添加回归方程_D3.js_Charts_Regression_Scatter Plot_C3.js - Fatal编程技术网

D3.js 向散点图中添加回归方程

D3.js 向散点图中添加回归方程,d3.js,charts,regression,scatter-plot,c3.js,D3.js,Charts,Regression,Scatter Plot,C3.js,我有以下图表: var Grade_access = c3.generate({ bindto: '#grade_access', data: { url: 'grades_access.csv', x: 'Access_grade', types: { Grade:'scatter', Regression: 'line' }, }, axis: {

我有以下图表:

var Grade_access = c3.generate({
    bindto: '#grade_access',
    data: {
        url: 'grades_access.csv',
        x: 'Access_grade',
        types: {
            Grade:'scatter',
            Regression: 'line'
        },
    },
    axis: {
        y: {
        label: {
            text: "Average grade",
            position: "outer-middle"
        },
        min: 1,
        max: 9
        },
        x: {
        label: {
            text: "Access grade PAU",
            position: "outer-center"
        },
        min: 9,
        max: 14
        }
    },
    size: {
        height: 400,
        width: 800
    },
    zoom: {
        enabled: true
    },
    legend: {
        show: true,
        position: 'inset',
        inset: {
        anchor: 'top-right',
        x: 20,
        y: 300
        }
    }
})

document.getElementById("equation").innerHTML = "Grade = " + 2 + "·x + " + 1;
grade_access.csv如下所示:

Access_grade,Chemistry I,Regression
9.85,3.8,4.54
10.64,5.0,5.31
10.0,4.0,4.69
10.92,5.4,5.58
11.69,5.5,6.33
11.79,8.0,6.43
11.03,6.3,5.69
10.47,5.0,5.14
10.1,5.6,4.78
12.13,8.5,6.76
11.94,6.4,6.57
10.96,6.7,5.62
10.45,5.9,5.12
10.45,5.7,5.12
12.62,7.7,7.24
10.19,5.0,4.87
但我想改变两件事来改善它:

  • 避免将蓝色的点与直线合并(我只希望将橙色的点合并以创建回归线)
  • 显示回归线的真实方程(现在我组成了系数:2和1不是真实的)

有什么帮助吗?提前谢谢

要隐藏连接蓝点的线,您可以检查
路径
元素并使用css隐藏类,或者将
等级
更改为
化学I

由于已经计算了回归值,因此计算系数非常简单

var d1 = data[0];
var d2 = data[1];
var b = (1-(d2['Regression']/d1['Regression']))/((d1['Access_grade']-d2['Access_grade'])/d1['Regression']);
var a = d1['Regression'] - (b * d1['Access_grade']);
我取了前两个数据点,然后它就像解一个线性方程组


这是你的。

为什么不直接检查行
路径
并使用css隐藏?另外,将
等级
更改为
化学I'
会给你一个分散,然后你不必使用css显式隐藏它。谢谢!但是,我正在随时间更改名称(动态csv文件),您知道如何在不传递名称的情况下将其引用为第一行的第二个元素吗@再会,有没有显示回归的想法@再见,谢谢@AdityaK回归看起来不错,但我不明白如果直线有正斜率,为什么系数是负的。。。而且,我不能把成绩改成化学I,因为化学I是这个csv栏目的标题,但是csv会随着时间的推移而改变,我希望图表能够自己阅读栏目的标题。。。知道吗?@MTT你知道在这种特殊情况下系数应该是多少吗?我不知道我计算的是否正确。我已经计算出正确的系数了!只是数学上的错误。。。有关于如何访问随时间变化的列名称的帮助吗?(化学I,微积分I…)它会变成什么?更改的列名是否会在结尾处有一个
I
。。。该列可以有不同的名称:微积分I、几何、微积分II、化学I、线性代数。。。该名称始终显示在csv文件第二列的标题上