用表格创建直方图

用表格创建直方图
几何画板及绘图内容加载中,请稍等……
2012-07-10 21:23
该范例演示如何在 GeoGebra 中利用表格数据创建直方图,直观展示一组数据的频数分布及其阶梯状轮廓。核心数学概念涵盖统计学中的直方图(Histogram)、数据分布(Distributions)、阶梯函数(Step Functions)以及分组频数与统计特征。作图要点:使用了 Textfield、Polygon、Segment、Sequence、Vector、Sort、Element、If 等命令,并调用 t0、t1、t2、directions1、inputD1、tableHeader、xMin、xMax、yMin、yMax 及 table11–table18 等对象,实现表格输入、区间边界计算、柱体多边形绘制与阶梯线段生成。适合高中概率统计课堂教学,也可用于大学入门统计学中的交互式数据可视化与探究性学习。

GeoGebra 命令及参数

  1. Textfield(d1) → inputD1
  2. Polygon((0, 11), (If[showSteps > t0, t1, t2], 11), (If[showSteps > t0, t1, t2], 12), (0, 12)) → tableHeader, b, c, d, e
  3. Segment((0, 10), (If[showSteps > t0, t1, t2], 10)) → f
  4. Segment((0, 9), (If[showSteps > t0, t1, t2], 9)) → g
  5. Segment((0, 8), (If[showSteps > t0, t1, t2], 8)) → h
  6. Segment((0, 7), (If[showSteps > t0, t1, t2], 7)) → i
  7. Segment((0, 6), (If[showSteps > t0, t1, t2], 6)) → j
  8. Segment((0, 5), (If[showSteps > t0, t1, t2], 5)) → k
  9. Segment((0, 4), (If[showSteps > t0, t1, t2], 4)) → l
  10. Segment((0, 3), (If[showSteps > t0, t1, t2], 3)) → m
  11. Segment((t1, 0), (t1, 12)) → s
  12. Textfield(d2) → inputD2
  13. Textfield(d3) → inputD3
  14. Textfield(d4) → inputD4
  15. Textfield(d5) → inputD5
  16. Textfield(d6) → inputD6
  17. Textfield(d7) → inputD7
  18. Textfield(d8) → inputD8
  19. Segment((0, 2), (If[showSteps > t0, t1, t2], 2)) → a
  20. Textfield(d9) → inputD9
  21. Segment((3.2, 2), (3.2, 12)) → q
  22. Segment((0, 2), (0, 11)) → n
  23. Segment((If[showSteps > t0, t1, t2], 2), (If[showSteps > t0, t1, t2], 11)) → p
  24. Sequence(Segment[(i, -0.3), (i, 0)], i, 7, 18) → xAxisHashMarks
  25. Vector((10, 0), (18.8, 0)) → xAxisR
  26. Vector((10, 0), (6.2, 0)) → xAxisL
  27. Vector((7, 2), (7, -0.8)) → yAxisB
  28. Sort({d1, d2, d3, d4, d5, d6, d7, d8, d9}) → ordered
  29. Element(ordered, 9) → gr
  30. If(gr < 12, 1, If[gr < 24, 2, If[gr < 30, 3, If[gr < 60, 4, 5]]]) → ySet
  31. Sequence(Segment[(i, 0), (i, 12)], i, 8, 1000) → gridV
  32. Sequence(Segment[(7, i), (1000, i)], i, 1, 12) → gridH
  33. Vector((7, 2), (7, 12.8)) → yAxisT
  34. Sequence(Segment[(6.7, i), (7, i)], i, 1, 12) → yAxisHashMarks
  35. If(ySet ≟ 1, 1, If[ySet ≟ 2, 2, If[ySet ≟ 3, 2.5, If[ySet ≟ 4, 5, 10]]]) → scaleFactor
  36. Polygon((8, 0), (9, 0), (9, d1 / scaleFactor), (8, d1 / scaleFactor)) → hist89, t, a_1, b_1, c_1
  37. Polygon((9, 0), (10, 0), (10, d2 / scaleFactor), (9, d2 / scaleFactor)) → hist910, d_1, e_1, f_1, g_1
  38. Polygon((10, 0), (11, 0), (11, d3 / scaleFactor), (10, d3 / scaleFactor)) → hist1011, h_1, i_1, j_1, k_1
  39. Polygon((11, 0), (12, 0), (12, d4 / scaleFactor), (11, d4 / scaleFactor)) → hist1112, l_1, m_1, n_1, p_1
  40. Polygon((12, 0), (13, 0), (13, d5 / scaleFactor), (12, d5 / scaleFactor)) → hist121, q_1, r_1, s_1, t_1
  41. Polygon((13, 0), (14, 0), (14, d6 / scaleFactor), (13, d6 / scaleFactor)) → hist12, a_2, b_2, c_2, d_2
  42. Polygon((14, 0), (15, 0), (15, d7 / scaleFactor), (14, d7 / scaleFactor)) → hist23, e_2, f_2, g_2, h_2
  43. Polygon((15, 0), (16, 0), (16, d8 / scaleFactor), (15, d8 / scaleFactor)) → hist34, i_2, j_2, k_2, l_2
  44. Polygon((16, 0), (17, 0), (17, d9 / scaleFactor), (16, d9 / scaleFactor)) → hist45, m_2, n_2, p_2, q_2

AI 绘图提示语参考

绘制一个基于表格数据的直方图,包含九个等宽区间的矩形柱,柱高由输入的九个数值决定并自动按最大值缩放;同时显示阶梯状轮廓线、横纵坐标轴、刻度标记及网格线;左侧提供九个可编辑的文本框供用户输入原始频数,顶部有一行表头和辅助线段;整体布局从左到右依次为数据输入区、坐标系与网格、直方图柱状区与阶梯轮廓。
以上提示语为根据原始绘图命令整理而来,仅供参考。