Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.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
用Java绘制高斯曲线_Java_Applet_Charts_Piccolo - Fatal编程技术网

用Java绘制高斯曲线

用Java绘制高斯曲线,java,applet,charts,piccolo,Java,Applet,Charts,Piccolo,我正在用编写一个交互式小程序,我需要在其中包含一条高斯曲线(aka) 我想任何类型的Java实现都足够了,但我找不到。理想情况下,我希望传递一组值,并在面板、图像对象或任何可以嵌入小程序的对象中绘制图表 在我自己动手编码之前,有人知道有一段代码可以完成吗 其他语言的实现是受欢迎的,只要它们易于移植到Java。不知道它是否有效,但谷歌放弃了 此项目的主页是 如果Piccolo没有为您执行绘图,我可能会使用它进行实际绘图,因为它受到广泛支持,而且功能非常强大。(我不熟悉短笛)编辑:它看起来有一个统计

我正在用编写一个交互式小程序,我需要在其中包含一条高斯曲线(aka)

我想任何类型的Java实现都足够了,但我找不到。理想情况下,我希望传递一组值,并在面板、图像对象或任何可以嵌入小程序的对象中绘制图表

在我自己动手编码之前,有人知道有一段代码可以完成吗


其他语言的实现是受欢迎的,只要它们易于移植到Java。

不知道它是否有效,但谷歌放弃了

此项目的主页是

如果Piccolo没有为您执行绘图,我可能会使用它进行实际绘图,因为它受到广泛支持,而且功能非常强大。(我不熟悉短笛)

编辑:它看起来有一个统计部分。具体来说,一个完整的包上的共同点。希望有一些数学方面的人,因为我记不起基本的统计数据。。。这是我尝试使用他们的图书馆。我这里有一个滑动窗口,计算这些值之间的P。从中获取PDF的真正方法是什么?它们只有CDF功能

public void testNormalDist() throws MathException {
    DistributionFactory f = DistributionFactory.newInstance();
    NormalDistribution n = f.createNormalDistribution(0.0d, 1.0d);
    double lastx = Double.NEGATIVE_INFINITY;
    double nextx = Double.NEGATIVE_INFINITY;
    for (int i=-100; i < 100; i++) {
        nextx = i / 100d;
        System.out.println(n.cumulativeProbability(lastx, nextx));
        lastx = nextx;
    }
}
public void testNormalDist()引发异常{
DistributionFactory f=DistributionFactory.newInstance();
正态分布n=f.正态分布(0.0d,1.0d);
double lastx=double.NEGATIVE_无穷大;
double nextx=double.NEGATIVE_无穷大;
对于(int i=-100;i<100;i++){
nextx=i/100d;
系统输出println(n.累积概率(lastx,nextx));
lastx=nextx;
}
}
我假设你想要这个图的概率密度函数。因为我不知道如何在这里包含数学标记。只需使用p(x)作为Y值,x作为x值,就可以得到一个非常简单的二维图

你看过吗

好的,这个怎么样。。。给它一个X点数组(当然,通过将每个像素位置除以图像的宽度,可以将X像素转换为这些点),它将返回分布曲线的高度(同样,乘以归一化因子)。这适用于平均值为0,标准偏差为1的基本情况

public double[] normalDistBasic(double[] xarray, double mu) {
    double[] yarray = new double[xarray.length];
    double rad2pi = 2.50662827d;
    for (int off = 0; off < yarray.length; off++) {
        double x = xarray[off];
        double ss = -1d * x * x / 2d;
        yarray[off] = (-1f / rad2pi) * Math.exp(ss);
    }
    return yarray;
}
public double[]normalDistBasic(double[]xarray,double mu){
double[]yarray=新的double[xarray.length];
双rad2pi=2.50662827d;
for(int off=0;off

如果在网上找不到,那么实现任意平均值和标准差应该很容易。

你在数学或库方面有问题吗?只有库:)我可以自己编写代码,但不想再发明轮子而浪费时间;)这看起来很有希望;没有在谷歌上找到它。最后,我没有使用高斯图,而是使用传统的条形图。无论如何,这个答案是最好的,因为你提供了一个工作代码的链接(尽管John也给出了一些很好的例子),所以我接受了。是的,我已经看到了这些方程,如果我找不到已经在工作的库,我将使用这些方程。无论如何谢谢你!听起来不错!我搜索得越多,我就越觉得我必须自己编写代码,所以这真的很受欢迎。谢谢