直方图与箱线图的探索与比较

直方图与箱线图的探索与比较
几何画板及绘图内容加载中,请稍等……
2014-10-27 02:42
本范例用于演示如何探索和比较直方图与箱线图。用户可以设置最多16个常规数据值和1个比较值,直观展示数据的分布特征。涉及的核心数学概念包括数据分布、集中趋势(均值、中位数、众数)和离散程度(四分位数)。作图要点:利用GeoGebra命令Sequence(数列)、Segment(线段)、Point(点)、Sort(排序)、Histogram(直方图)、Mean(均值)、Median(中位数)、Mode(众数)、Q3(第三四分位数)、Q1(第一四分位数)、Vector(向量)、BoxPlot(箱线图)、CountIf(计数条件)、If(条件判断)等对象实现。适合高中阶段数学教学,用于概率统计相关内容的学习。

GeoGebra 命令及参数

  1. Sequence(dataSlidersTopSliderHeight - i, i, 0, dataSlidersTopSliderHeight, sliderVerticalSpacing) → sliderSpacingValues
  2. Segment((dataSliderLeftAlign, If[setData1 ∧ select1Data ≟ 16, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 16]]), (dataMax, If[setData1 ∧ select1Data ≟ 16, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 16]])) → segData16
  3. Point(segData16) → dataPt16
  4. Segment((dataSliderLeftAlign, If[setData1 ∧ select1Data ≟ 15, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 15]]), (dataMax, If[setData1 ∧ select1Data ≟ 15, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 15]])) → segData15
  5. Point(segData15) → dataPt15
  6. Segment((dataSliderLeftAlign, If[setData1 ∧ select1Data ≟ 14, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 14]]), (dataMax, If[setData1 ∧ select1Data ≟ 14, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 14]])) → segData14
  7. Point(segData14) → dataPt14
  8. Segment((dataSliderLeftAlign, If[setData1 ∧ select1Data ≟ 13, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 13]]), (dataMax, If[setData1 ∧ select1Data ≟ 13, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 13]])) → segData13
  9. Point(segData13) → dataPt13
  10. Segment((dataSliderLeftAlign, If[setData1 ∧ select1Data ≟ 12, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 12]]), (dataMax, If[setData1 ∧ select1Data ≟ 12, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 12]])) → segData12
  11. Point(segData12) → dataPt12
  12. Segment((dataSliderLeftAlign, If[setData1 ∧ select1Data ≟ 11, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 11]]), (dataMax, If[setData1 ∧ select1Data ≟ 11, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 11]])) → segData11
  13. Point(segData11) → dataPt11
  14. Segment((dataSliderLeftAlign, If[setData1 ∧ select1Data ≟ 3, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 3]]), (dataMax, If[setData1 ∧ select1Data ≟ 3, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 3]])) → segData3
  15. Point(segData3) → dataPt3
  16. Segment((dataSliderLeftAlign, If[setData1 ∧ select1Data ≟ 2, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 2]]), (dataMax, If[setData1 ∧ select1Data ≟ 2, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 2]])) → segData2
  17. Point(segData2) → dataPt2
  18. Segment((dataSliderLeftAlign, If[setData1 ∧ select1Data ≟ 9, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 9]]), (dataMax, If[setData1 ∧ select1Data ≟ 9, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 9]])) → segData9
  19. Point(segData9) → dataPt9
  20. Segment((dataSliderLeftAlign, If[setData1 ∧ select1Data ≟ 8, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 8]]), (dataMax, If[setData1 ∧ select1Data ≟ 8, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 8]])) → segData8
  21. Point(segData8) → dataPt8
  22. Segment((dataSliderLeftAlign, If[setData1 ∧ select1Data ≟ 7, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 7]]), (dataMax, If[setData1 ∧ select1Data ≟ 7, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 7]])) → segData7
  23. Point(segData7) → dataPt7
  24. Segment((dataSliderLeftAlign, If[setData1 ∧ select1Data ≟ 6, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 6]]), (dataMax, If[setData1 ∧ select1Data ≟ 6, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 6]])) → segData6
  25. Point(segData6) → dataPt6
  26. Segment((dataSliderLeftAlign, If[setData1 ∧ select1Data ≟ 5, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 5]]), (dataMax, If[setData1 ∧ select1Data ≟ 5, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 5]])) → segData5
  27. Point(segData5) → dataPt5
  28. Segment((dataSliderLeftAlign, If[setData1 ∧ select1Data ≟ 4, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 4]]), (dataMax, If[setData1 ∧ select1Data ≟ 4, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 4]])) → segData4
  29. Point(segData4) → dataPt4
  30. Segment((dataSliderLeftAlign, If[setData1 ∧ select1Data ≟ 10, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 10]]), (dataMax, If[setData1 ∧ select1Data ≟ 10, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 10]])) → segData10
  31. Point(segData10) → dataPt10
  32. Segment((dataSliderLeftAlign, Element[sliderSpacingValues, 1] + If[setData1 ∧ select1Data ≟ 1, -2, 0]), (dataMax, Element[sliderSpacingValues, 1] + If[setData1 ∧ select1Data ≟ 1, -2, 0])) → segData1
  33. Point(segData1) → dataPt1
  34. Sort(RemoveUndefined[{If[d1 ≥ 0, d1], If[d2 ≥ 0, d2], If[d3 ≥ 0, d3], If[d4 ≥ 0, d4], If[d5 ≥ 0, d5], If[d6 ≥ 0, d6], If[d7 ≥ 0, d7], If[d8 ≥ 0, d8], If[d9 ≥ 0, d9], If[d10 ≥ 0, d10], If[d11 ≥ 0, d11], If[d12 ≥ 0, d12], If[d13 ≥ 0, d13], If[d14 ≥ 0, d14], If[d15 ≥ 0, d15], If[d16 ≥ 0, d16]}]) → dataListValidOnly
  35. Sequence(i, i, 0, 100, classBoundaryIncrement) → histogramClassBoundaries
  36. Histogram(histogramClassBoundaries, dataListValidOnly, false) → histogram1
  37. Segment((0, Element[sliderSpacingValues, 1] - 2), (dataMax, Element[sliderSpacingValues, 1] - 2)) → segDataCompare
  38. Point(segDataCompare) → dataPtCompare
  39. Sort(Append[dataListValidOnly, dCompare]) → dataListWithCompare
  40. Histogram(histogramClassBoundaries, dataListWithCompare, false) → histogramCompare
  41. Mean(dataListValidOnly) → meanDataValidOnly
  42. Median(dataListValidOnly) → medianDataValidOnly
  43. Mode(dataListValidOnly) → modeDataValidOnly
  44. Mean(dataListWithCompare) → meanDataWithCompare
  45. Median(dataListWithCompare) → medianDataWithCompare
  46. Mode(dataListWithCompare) → modeDataWithCompare
  47. Q3(dataListValidOnly) → q3
  48. Q1(dataListValidOnly) → q1
  49. Vector(((q3 + q1) / 2 - 2, (-2.25)), (q1, (-2.25))) → iqrRayLeft
  50. Vector(((q3 + q1) / 2 + 2, (-2.25)), (q3, (-2.25))) → iqrRayRight
  51. Q1(dataListWithCompare) → q1Compare
  52. Q3(dataListWithCompare) → q3Compare
  53. Vector(((q3Compare + q1Compare) / 2 - 4, (-4.25)), (q1Compare, (-4.25))) → iqrRayLeftCompare
  54. Vector(((q3Compare + q1Compare) / 2 + 4, (-4.25)), (q3Compare, (-4.25))) → iqrRayRightCompare
  55. BoxPlot(-1.5, 0.5, dataListValidOnly, If[outliersCk, true, false]) → boxPlot1
  56. BoxPlot(-3.5, 0.5, dataListWithCompare, If[outliersCk, true, false]) → boxPlotCompare
  57. CountIf(x ≥ 0, If[setDataCompare, dataListWithCompare, dataListValidOnly]) → countData
  58. Segment((If[setData1, Element[dataListAll, select1Data], x(dataPtCompare)], dataSlidersTopSliderHeight - 2), (If[setData1, Element[dataListAll, select1Data], x(dataPtCompare)], (-100))) → set1DataAlignLine
  59. If(select1Data ≟ 1, x(dataPt1), If[select1Data ≟ 2, dataPt2, If[select1Data ≟ 3, dataPt3, If[select1Data ≟ 4, dataPt4, dataPt5]]]) → select1Pt

AI 绘图提示语参考

绘制一个包含直方图和箱线图的统计图表,展示数据分布特征。首先,创建多个数据点并按值排序,然后用这些点构建直方图,分别表示原始数据和包含一个比较值的数据。接着,计算并绘制箱线图,包括中位数、四分位数和比较数据的对应值。图表应清晰展示数据的集中趋势和离散程度,便于比较两组数据的分布情况。
以上提示语为根据原始绘图命令整理而来,仅供参考。