返回

Plotly绘制带填充置信区间的线性回归图遇到的常见问题及解决方法

javascript

使用 Plotly 绘制具有填充置信区间的线性回归图

问题

在使用 Plotly 绘制带有置信区间的线性回归图时,填充区域仅覆盖部分区间,而不是整个上下边界之间的区域。

解决方法

要解决此问题,可以使用 Plotly 的 fill 选项在两个迹线之间创建填充。下面是如何操作:

创建上边界和下边界迹线

分别创建表示上边界和下边界的上迹线和下迹线。

指定填充颜色

使用 fillcolor 属性指定填充区域的颜色。

确保 modelines

确保上边界和下边界迹线的 mode 属性设置为 lines,这是创建填充区域所必需的。

将迹线添加到布局

将上边界和下边界迹线添加到 Plotly 布局中。

完整示例代码

// 创建上边界和下边界迹线
const lower_trace = [];
const top_trace = [];
data.forEach(obj => {
  lower_trace.push(obj['lower']);
  top_trace.push(obj['upper']);
});

// 创建上边界迹线
const trace_upper = {
  x: x_values,
  y: top_trace,
  mode: 'lines',
  fill: 'tonexty',
  fillcolor: '#add8e6',
  type: 'scatter',
  name: 'high',
  line: {
    color: '#d4e6f1',
  },
};

// 创建下边界迹线
const trace_lower = {
  x: x_values,
  y: lower_trace,
  mode: 'lines',
  fill: 'tonexty',
  fillcolor: '#add8e6',
  type: 'scatter',
  name: 'low',
  line: {
    color: '#d4e6f1',
  },
};

// 添加上边界和下边界迹线到布局
const traceArray = [];
traceArray.push(trace_upper);
traceArray.push(trace_lower);

// 添加其他绘图元素到布局
// ...

// 创建布局
const layout = {
  // ...
};

// 创建图表
Plotly.newPlot('myDiv', traceArray, layout);

结论

通过遵循这些步骤,你将能够使用 Plotly 绘制出具有正确填充置信区间的线性回归图。

常见问题解答

1. 如何更改填充区域的颜色?

使用 fillcolor 属性指定填充区域的颜色。

2. 如何更改填充区域的不透明度?

使用 fillopacity 属性指定填充区域的不透明度,其值范围为 0 到 1。

3. 如何禁用填充区域?

fill 属性设置为 none 以禁用填充区域。

4. 如何更改填充区域的模式?

使用 fillpattern 属性更改填充区域的模式,它接受的值有 soliddashdotdashdotlongdash

5. 如何控制填充区域与边界之间的间隙?

使用 fillgap 属性控制填充区域与边界之间的间隙,其值范围为 0 到 1。