频数与累积频数多边形构造工具(频数/累积频数折线)

频数与累积频数多边形构造工具(频数/累积频数折线)
几何画板及绘图内容加载中,请稍等……
2021-01-13 22:45
该范例演示如何根据分组数据的频数与频率累计值,动态构造频数多边形与累积频数多边形,并将它们作为分段折线图进行比较。核心数学概念包括:统计分组、类别区间与类宽、频数(Frequency)以及累积频数(Cumulative Frequency)、频数多边形的横坐标取类别中点与首尾补点的作图思想。作图要点来自构造摘要:使用 Length 计算长度/比例相关量;Sequence 生成按类别变化的数列点(如各类上界/下界或点坐标索引);Textfield 与 InputBox1~InputBox5 接收用户输入的频数或分组参数;Segment 与 Vector 构造/组织线段与方向;Append、Corner、PolyLine 用于把端点与折线段依次拼接成多边形折线;If 与 err 等对象处理条件与异常情况;同时通过多组变量(例如 lowerclasslimit、upperclasslimit、classwidth、xlower、xupper、ylower、yupper、ylscale、xlscale、xsscale、ysscale、xmajor、xminor、ymajor、yminor)进行坐标缩放与刻度控制。适合用于中学—大学初阶统计与数据处理课程的课堂演示、作业练习与交互式探索,帮助理解频数表到图形的转换方法。

GeoGebra 命令及参数

  1. Length(freq) → noofgroup
  2. Sequence(Segment[(i, ylower), (i, yupper)], i, xlower, xupper, xlscale) → xmajor
  3. Sequence(Segment[(xlower, i), (xupper, i)], i, ylower, yupper, ysscale) → yminor
  4. Sequence(Segment[(xlower, i), (xupper, i)], i, ylower, yupper, ylscale) → ymajor
  5. Textfield(lowerclasslimit) → InputBox1
  6. Textfield(upperclasslimit) → InputBox2
  7. Sequence(Segment[(i, ylower), (i, yupper)], i, xlower, xupper, xsscale) → xminor
  8. Segment(O, (x(O) + xsscale, y(O))) → sec1
  9. Segment((x(O) + xsscale, y(O)), (x(O) + (2 * xsscale), y(O) + (2 * ysscale))) → sec2
  10. Segment((x(O) + (2 * xsscale), y(O) + (2 * ysscale)), (x(O) + (3 * xsscale), y(O) + (-2 * ysscale))) → sec3
  11. Segment((x(O) + (3 * xsscale), y(O) - (2 * ysscale)), (x(O) + (4 * xsscale), y(O))) → sec4
  12. Vector(O, Y_e) → yaxi
  13. Textfield(freq) → InputBox4
  14. Append(Append[((lowerclasslimit + upperclasslimit) / 2 - classwidth, ylower), Sequence[((lowerclasslimit + upperclasslimit) / 2 + ((i - 1) * classwidth), freq(i)), i, 1, noofgroup]], ((lowerclasslimit + upperclasslimit) / 2 + (noofgroup * classwidth), ylower)) → fscatter
  15. Textfield(xlscale) → InputBox5
  16. Textfield(ylscale) → InputBox6
  17. Vector(X_0, X_e) → xaxi
  18. Sequence(Sum[freq, i], i, 1, noofgroup) → cfreq
  19. Append((upperclasslimit - classwidth, ylower), Sequence[(upperclasslimit + ((i - 1) * classwidth), cfreq(i)), i, 1, noofgroup]) → cfscatter
  20. Corner(2, 1) → Z
  21. PolyLine(fscatter) → fplot
  22. PolyLine(cfscatter) → cfplot
  23. Sequence(Segment[(lowerclasslimit + ((i - 2) * classwidth), ylower + ysscale / 2), (lowerclasslimit + ((i - 2) * classwidth), ylower - ysscale / 2)], i, 1, noofgroup + 3) → xint
  24. Sequence(Segment[(x(O) - xsscale / 2, (i * ylscale)), (x(O) + xsscale / 2, (i * ylscale))], i, 1, Div[yupper, ylscale] - 1) → yint
  25. If(Mod[upperclasslimit, 1] ≟ 0, 1, 0.1) → xshift
  26. If(chi ≟ false, RotateText["Cumulative frequency", 90°], RotateText["累積頻數", 90°]) → text4
  27. If(chi ≟ false, RotateText["Frequency", 90°], RotateText["頻數", 90°]) → text5

AI 绘图提示语参考

绘制一个统计教学用的交互式折线图,包含频率多边形和累积频率多边形。横轴表示分组数据的组中值,纵轴表示频数或累积频数。先画出坐标轴和网格刻度线,再根据输入的分组上下限和频数数据,计算各组中点,在图上标出对应点,并用折线连接这些点形成频率多边形;同时计算累积频数,在每组右边界处标点并连成累积频率折线。图形两端各延伸半个组距,使折线闭合到横轴。界面包含多个输入框,用于修改分组界限、频数、刻度间距等参数,图形会随之动态更新。
以上提示语为根据原始绘图命令整理而来,仅供参考。