Explore and Compare Histogram and Box & Whisker Plot
Loading the math board and drawing, please wait…
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
Sequence(dataSlidersTopSliderHeight - i, i, 0, dataSlidersTopSliderHeight, sliderVerticalSpacing) → sliderSpacingValuesSegment((dataSliderLeftAlign, If[setData1 ∧ select1Data ≟ 16, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 16]]), (dataMax, If[setData1 ∧ select1Data ≟ 16, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 16]])) → segData16Point(segData16) → dataPt16Segment((dataSliderLeftAlign, If[setData1 ∧ select1Data ≟ 15, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 15]]), (dataMax, If[setData1 ∧ select1Data ≟ 15, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 15]])) → segData15Point(segData15) → dataPt15Segment((dataSliderLeftAlign, If[setData1 ∧ select1Data ≟ 14, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 14]]), (dataMax, If[setData1 ∧ select1Data ≟ 14, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 14]])) → segData14Point(segData14) → dataPt14Segment((dataSliderLeftAlign, If[setData1 ∧ select1Data ≟ 13, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 13]]), (dataMax, If[setData1 ∧ select1Data ≟ 13, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 13]])) → segData13Point(segData13) → dataPt13Segment((dataSliderLeftAlign, If[setData1 ∧ select1Data ≟ 12, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 12]]), (dataMax, If[setData1 ∧ select1Data ≟ 12, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 12]])) → segData12Point(segData12) → dataPt12Segment((dataSliderLeftAlign, If[setData1 ∧ select1Data ≟ 11, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 11]]), (dataMax, If[setData1 ∧ select1Data ≟ 11, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 11]])) → segData11Point(segData11) → dataPt11Segment((dataSliderLeftAlign, If[setData1 ∧ select1Data ≟ 3, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 3]]), (dataMax, If[setData1 ∧ select1Data ≟ 3, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 3]])) → segData3Point(segData3) → dataPt3Segment((dataSliderLeftAlign, If[setData1 ∧ select1Data ≟ 2, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 2]]), (dataMax, If[setData1 ∧ select1Data ≟ 2, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 2]])) → segData2Point(segData2) → dataPt2Segment((dataSliderLeftAlign, If[setData1 ∧ select1Data ≟ 9, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 9]]), (dataMax, If[setData1 ∧ select1Data ≟ 9, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 9]])) → segData9Point(segData9) → dataPt9Segment((dataSliderLeftAlign, If[setData1 ∧ select1Data ≟ 8, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 8]]), (dataMax, If[setData1 ∧ select1Data ≟ 8, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 8]])) → segData8Point(segData8) → dataPt8Segment((dataSliderLeftAlign, If[setData1 ∧ select1Data ≟ 7, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 7]]), (dataMax, If[setData1 ∧ select1Data ≟ 7, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 7]])) → segData7Point(segData7) → dataPt7Segment((dataSliderLeftAlign, If[setData1 ∧ select1Data ≟ 6, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 6]]), (dataMax, If[setData1 ∧ select1Data ≟ 6, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 6]])) → segData6Point(segData6) → dataPt6Segment((dataSliderLeftAlign, If[setData1 ∧ select1Data ≟ 5, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 5]]), (dataMax, If[setData1 ∧ select1Data ≟ 5, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 5]])) → segData5Point(segData5) → dataPt5Segment((dataSliderLeftAlign, If[setData1 ∧ select1Data ≟ 4, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 4]]), (dataMax, If[setData1 ∧ select1Data ≟ 4, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 4]])) → segData4Point(segData4) → dataPt4Segment((dataSliderLeftAlign, If[setData1 ∧ select1Data ≟ 10, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 10]]), (dataMax, If[setData1 ∧ select1Data ≟ 10, dataSlidersTopSliderHeight - 2, Element[sliderSpacingValues, 10]])) → segData10Point(segData10) → dataPt10Segment((dataSliderLeftAlign, Element[sliderSpacingValues, 1] + If[setData1 ∧ select1Data ≟ 1, -2, 0]), (dataMax, Element[sliderSpacingValues, 1] + If[setData1 ∧ select1Data ≟ 1, -2, 0])) → segData1Point(segData1) → dataPt1Sort(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]}]) → dataListValidOnlySequence(i, i, 0, 100, classBoundaryIncrement) → histogramClassBoundariesHistogram(histogramClassBoundaries, dataListValidOnly, false) → histogram1Segment((0, Element[sliderSpacingValues, 1] - 2), (dataMax, Element[sliderSpacingValues, 1] - 2)) → segDataComparePoint(segDataCompare) → dataPtCompareSort(Append[dataListValidOnly, dCompare]) → dataListWithCompareHistogram(histogramClassBoundaries, dataListWithCompare, false) → histogramCompareMean(dataListValidOnly) → meanDataValidOnlyMedian(dataListValidOnly) → medianDataValidOnlyMode(dataListValidOnly) → modeDataValidOnlyMean(dataListWithCompare) → meanDataWithCompareMedian(dataListWithCompare) → medianDataWithCompareMode(dataListWithCompare) → modeDataWithCompareQ3(dataListValidOnly) → q3Q1(dataListValidOnly) → q1Vector(((q3 + q1) / 2 - 2, (-2.25)), (q1, (-2.25))) → iqrRayLeftVector(((q3 + q1) / 2 + 2, (-2.25)), (q3, (-2.25))) → iqrRayRightQ1(dataListWithCompare) → q1CompareQ3(dataListWithCompare) → q3CompareVector(((q3Compare + q1Compare) / 2 - 4, (-4.25)), (q1Compare, (-4.25))) → iqrRayLeftCompareVector(((q3Compare + q1Compare) / 2 + 4, (-4.25)), (q3Compare, (-4.25))) → iqrRayRightCompareBoxPlot(-1.5, 0.5, dataListValidOnly, If[outliersCk, true, false]) → boxPlot1BoxPlot(-3.5, 0.5, dataListWithCompare, If[outliersCk, true, false]) → boxPlotCompareCountIf(x ≥ 0, If[setDataCompare, dataListWithCompare, dataListValidOnly]) → countDataSegment((If[setData1, Element[dataListAll, select1Data], x(dataPtCompare)], dataSlidersTopSliderHeight - 2), (If[setData1, Element[dataListAll, select1Data], x(dataPtCompare)], (-100))) → set1DataAlignLineIf(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.