You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mathematica中用Epilog线展示特定范围均值与标准差的方法

Mathematica 特定范围统计量计算与可视化实现

1. 准备示例数据

先构造带噪声的正弦曲线数据集(替换为你的实际数据即可):

data = Table[{x, Sin[x] + RandomReal[{-0.2, 0.2}]}, {x, 0, 2 Pi, 0.1}];

2. 筛选目标范围并计算统计量

指定x轴的目标区间,筛选数据后计算y值的均值和标准差:

(* 设定目标x范围 *)
xMin = 1;
xMax = 3;

(* 筛选区间内的数据点 *)
filteredData = Select[data, xMin <= First[#] <= xMax &];

(* 计算统计量 *)
meanY = Mean[Last /@ filteredData];
stdY = StandardDeviation[Last /@ filteredData];

3. 绘图并添加Epilog标注

用ListPlot绘制原始数据,通过Epilog添加范围标记线、均值线和文本标注:

ListPlot[data,
 PlotStyle -> PointSize[0.01],
 Frame -> True,
 FrameLabel -> {"x", "y"},
 Epilog -> {
   (* 红色虚线标记x范围 *)
   Red, Dashed,
   Line[{{xMin, -1.5}, {xMin, 1.5}}],
   Line[{{xMax, -1.5}, {xMax, 1.5}}],
   (* 黑色粗线标记均值 *)
   Black, Thick,
   Line[{{xMin, meanY}, {xMax, meanY}}],
   (* 添加统计量文本标注 *)
   Text["均值: " <> ToString[Round[meanY, 0.02]], {2, meanY + 0.2}],
   Text["标准差: " <> ToString[Round[stdY, 0.02]], {2, meanY + 0.1}]
 },
 PlotRange -> {{0, 2 Pi}, {-1.5, 1.5}}
]

适配说明

  • 若使用连续函数而非离散数据,可通过NIntegrate计算区间均值:meanY = NIntegrate[f[x], {x, xMin, xMax}]/(xMax - xMin),标准差需结合函数平方的积分计算。
  • 可根据实际数据范围调整PlotRange、文本标注的位置和线条样式。
  • 如需展示标准差上下界,可在Epilog中添加Line[{{xMin, meanY ± stdY}, {xMax, meanY ± stdY}}]。

内容的提问来源于stack exchange,提问作者A.Ali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 22:07:22