计算频率和正态分布曲线坐标(X 和 Y)

Vik*_*man 8 javascript reactjs plotly.js

我正在使用react-plotlyjs 实现直方图。图表已实现,但我必须使用 X 轴和 Y 轴绘制正态分布曲线。我有 X 轴,但 Y 轴是自动计算频率的。所以,我需要X和Y轴的坐标来绘制归一化曲线。

另外,我必须弄清楚我们如何计算频率。我必须获得最大频率。我无法共享数据,因为我有大量记录。

我正在寻找这方面的建议。

const trace1 = {
    x: filteredXRecords,
    type: "histogram",
    histnorm: 'probability', //(Probability is used for Y axis)
    showlegend: true,
    marker: {
        color: 'rgb(255,255,100)',
    }
}
const data = [trace1]
<Plot
    onClick={(data) => doubleClick(data)}
    onRestyle={(data) => onRestyle(data)}
    onSelected={( data ) => handleOnSelected( data ) }
    id={graphName}
    data={data}
    layout={plotLayout}
    style={plotStyle}
    config={{ displaylogo: false }}
    onRelayout={ ( data ) => handleRelayout( data )}
/>
Run Code Online (Sandbox Code Playgroud)

小智 0

我不确定该代码是否足够。根据文档,基本直方图的代码如下:

var x = [];
for (var i = 0; i < 500; i ++) {
    x[i] = Math.random();
}

var trace = {
    x: x,
    type: 'histogram',
  };
var data = [trace];
Plotly.newPlot('myDiv', data);
Run Code Online (Sandbox Code Playgroud)

但从您的代码来看,您正在使用 const 通过 Plotly.js 创建直方图。

为了获得最大频率,您是否尝试过使用

histfunc = 'max'
Run Code Online (Sandbox Code Playgroud)

根据文档,您可以在 type=histogram 中使用 histfunc。这是引用直方图轨迹的文档https://plotly.com/javascript/histograms

histfun 使用以下任意参数: 类型: enumerated ,其中之一 ( "count" | "sum" | "avg" | "min" | "max" )

我建议您查看提供的文档链接,看看这些链接是否可以为您解决问题。如果没有,如果您仍在挣扎,请随时发表进一步评论。