如何使用谷歌图形绘制平滑的钟形曲线?

时间:2015-11-30 06:12:45

标签: php google-visualization codeigniter-2

让我尽力解释这里提出的问题:

我试图在Codeigniter应用程序中绘制正态分布图(也就是钟形曲线)。对于图表应用程序,我使用的是Google Graph。

现在,让我描述一下我为了获得X-Y轴值和生成图表所做的工作:

i)按升序排列从相关db表中获取的值(将它们视为X值)

ii)根据这些X值计算Y值...在这里,我使用以下mysql函数生成那些Y值:

    BEGIN
        DECLARE x FLOAT;
        DECLARE z FLOAT;
        DECLARE t FLOAT;
        DECLARE ans FLOAT;
        DECLARE returnvalue DECIMAL(10,5);
        SET z = (val-mean)/sigma;
        IF val < z THEN SET x= 0.5-z;
        ELSEIF  val = z THEN    SET x = 0.5;
        ELSE SET x= 0.5+z;
        END IF;
        SET returnvalue = (1/(sigma * SQRT( 2.0 * 3.14159265358979 ))) * EXP(-((val-mean)*(val-mean)) / (2*(sigma*sigma)));
        RETURN returnvalue;
    END

输入参数是:val FLOAT,表示FLOAT,sigma FLOAT

其中,表示 = SELECT FORMAT(avg(a。val),2)as avg_value FROM tableX a,

sigma = SELECT FORMAT(stddev(b。val),2)AS std_value FROM tableX b

iii)最后,当我使用google-graph areaChart绘制这些值时,它并没有生成一个平滑的值,这是本案的要求。

以下是我们正在处理的图表:图表#1是我的要求,图表#2是我得到的,同时在Google-Graph中绘制这些点。

Graph 1

Graph 2

所以,请让我知道我哪里出错...是我在生成正态分布值的mysql函数还是在图表绘图中?

0 个答案:

没有答案