Explore and Compare Histogram and Box & Whisker Plot

Explore and Compare Histogram and Box & Whisker Plot
Loading the math board and drawing, please wait…
2014-10-27 02:42
In collections Statistics & Probability
This example demonstrates how to explore and compare histograms and box & whisker plots. Users can set up to 16 regular data values and 1 additional comparison value to visually display data distribution characteristics. Core mathematical concepts include data distribution, central tendency (mean, median, mode) and dispersion (quartiles). Construction highlights: Utilizes GeoGebra commands like Sequence, Segment, Point, Sort, Histogram, Mean, Median, Mode, Q3, Q1, Vector, BoxPlot, CountIf, and If to achieve the plots. Suitable for high school mathematics teaching, particularly for learning probability and statistics-related content.

GeoGebra Commands & Parameters

  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 Drawing Prompt Reference

Create a statistical chart featuring histograms and a box plot to illustrate data distribution characteristics. Start by plotting multiple data points and sorting them, then construct histograms using these points for both the original data and data including a comparison value. Next, calculate and draw the box plot, highlighting the median, quartiles, and corresponding values for the comparison data. The chart should clearly display the central tendency and dispersion of the data, facilitating a comparison of the distributions between two datasets.
The prompt above was compiled from the original drawing commands and is for reference only.