Identifying Issues in Histograms

Identifying Issues in Histograms
Loading the math board and drawing, please wait…
2019-02-02 03:43
This example demonstrates common problems with histograms, such as improper data grouping and uneven frequency distribution. Key mathematical concepts include histograms in statistics, data grouping, and frequency distribution. Construction highlights include using the Sequence command to generate data sequences, the Element command to extract elements, the Max and Min commands to find the maximum and minimum values, the If command for conditional judgments, the KeepIf command to filter data, the Segment command to draw line segments, the Sum command to calculate sums, the Insert command to insert text, the VerticalText command to display text vertically, the Sort command to sort data, the Line command to draw lines, and the Vector command to draw vectors. Suitable for high school and above students learning statistics and data visualization.

GeoGebra Commands & Parameters

  1. Sequence(Mod[4 + (19 * k), 40] + 1, k, 1, 40) → OpSq1
  2. Element(OpSq1, Seed) → Op1
  3. Element(DSSq, DSNo) → DS0
  4. Length(DS0) → Size
  5. Element(AcSq, DSNo) → Acr
  6. Max(DS0) → DtMx1
  7. Min(DS0) → DtMn1
  8. If(LBO1 ≤ UB, LBO1, If[LBO ≤ UB, LBO, If[LBO2 ≤ UB, LBO2, If[LBO3 ≤ UB, LBO3, LBO4]]]) → CW
  9. Sequence(DtMn1 + (k * CW), k, 0, NmCls - 1) → LCL
  10. Element(LCL, 2) → LCLS
  11. If(LBO1 ≤ UB, 0, If[LBO ≤ UB, 0, If[LBO2 ≤ UB, 1, If[LBO3 ≤ UB, 2, 3]]]) → CWAcr
  12. Max(Acr, CWAcr) → NwAcr
  13. Sequence(UCLF + (CW * k), k, 0, NmCls - 1) → UCL
  14. Sequence(CountIf[Element[LCL, k] ≤ x ≤ Element[UCL, k], DS0], k, 1, NmCls) → FrqSq
  15. Max(FrqSq) → MxFrqG
  16. If(MxFrqOE > 12, 3, If[MxFrqOE > 6, 2, 1]) → VSGF2
  17. If(MxFrqG > 12, 3, If[MxFrqG > 6, 2, 1]) → VSGF1
  18. If(VSGF1 ≟ 3, (ceil(MxFrqG / 3) * 3), If[VSGF1 ≟ 2, (ceil(MxFrqG / 2) * 2), MxFrqG]) → GVSMx
  19. Sequence(k, k, 0, MxFrqNU, 2) → GVLbSq
  20. Length(GVLbSq) → VLC
  21. Element(LCL, 1) → LCLF
  22. Sequence(k, k, 1, 19) → StrSq
  23. KeepIf(floor(20 / x) ≠ 20 / x, StrSq) → RlPrSq
  24. Segment(BRE, BLE) → BHAx
  25. Segment(BLE, BTE) → BVAx
  26. Sum(FrqSq) → SzCh
  27. Sequence((Element[LCL, k] + Element[UCL, k]) / 2, k, 1, NmCls) → MdPtSq
  28. Element(MdPtSq, 1) → MPF
  29. Element(OpSq2, Seed) → ErrNo
  30. Element(AxTtlSq, DSNo) → UGHATtl
  31. Element(TtlSq, DSNo) → UGTtl
  32. Element(SclSq, DSNo) → Scl
  33. Element(TSSq, DSNo) → TS
  34. Sequence(Text[Element[LCL, k] + " to " + (Element[UCL, k])], k, 1, NmCls) → BHLbSq
  35. If(VMxOE1 > 12, 3, If[VMxOE1 > 6, 2, 1]) → VSOEF
  36. Sequence(Segment[(ax1(LCLF + (CW * (k - 1))), ayoe(Element[FrqSq, k])), (ax1(LCLF + (CW * k)), ayoe(Element[FrqSq, k]))], k, 1, NmCls) → OEBTSq
  37. Segment((XAxMx, YAxMn1), (XAxMx, ayoe(Element[FrqSq, NmCls]))) → LSOE
  38. Insert(1, GVLbSq, 2) → NUVLb
  39. Sequence(Segment[(ax1(LCLF + (CW * (k - 1))), (VSNU * fa(Element[FrqSq, k])) + YAxMn1), (ax1(LCLF + (CW * k)), (VSNU * fa(Element[FrqSq, k])) + YAxMn1)], k, 1, NmCls) → NUBTSq
  40. Sequence(Segment[(ax1(LCLF + (k * CW)), YAxMn1), (ax1(LCLF + (k * CW)), (VSNU * fa(Max[Element[FrqSq, k], Element[FrqSq, k + 1]])) + YAxMn1)], k, 1, NmCls - 1) → NUBSSq
  41. Segment((XAxMx, YAxMn1), (XAxMx, (VSNU * fa(Element[FrqSq, NmCls])) + YAxMn1)) → LSNU
  42. Element(ErSq, ErrNo) → Ans1
  43. Segment(GLE, GTE) → GVAx
  44. Segment(GLE, GRE) → GHAx
  45. Element(GTtSq, DSNo) → LGTtl
  46. VerticalText("frequency") → UGVATtl
  47. Segment((XAxMx, GGB), (XAxMx, ayg(Element[FrqSq, NmCls]) - BGDst)) → GRS
  48. Sequence(Segment[(MPFA + ((HS1 * CW) * (k - 1.25)), YAxMn1), (MPFA + ((HS1 * CW) * (k - 1.25)), ayg(Element[FrqSq, k]))], k, 1, NmCls) → SBLSSq
  49. Sequence(Segment[(MPFA + ((HS1 * CW) * (k - 0.75)), YAxMn1), (MPFA + ((HS1 * CW) * (k - 0.75)), ayg(Element[FrqSq, k]))], k, 1, NmCls) → SBRSSq
  50. Sequence(Segment[(MPFA + ((HS1 * CW) * (k - 1.25)), ayg(Element[FrqSq, k])), (MPFA + ((HS1 * CW) * (k - 0.75)), ayg(Element[FrqSq, k]))], k, 1, NmCls) → SBTpSq
  51. Sequence(Text[k, (XAxMn - 1.1, ayoe(k)) - 0.2], k, 0, VMxOE2, VSGF2) → OEVLbSq
  52. Sequence(Text[k, (XAxMn - 1.1, ayg(k)) - 0.2], k, 0, GVSMx, VSGF1) → GVLbTxSq1
  53. Sequence(Text[MPF + (k * CW), (ax1(MPF + (k * CW)) - 1, YAxMn1 - 1)], k, 0, NmCls - 1) → GHLbSq
  54. Sequence(Text[Element[BHLbSq, k], (ax1(MPF + ((k - 1) * CW)) - 2.3, YAxMn1 - 1)], k, 1, NmCls) → BHLbTxSq
  55. Sort(DS0) → SrtSq
  56. Segment((ax2(LCLF), YAxMn1), (ax2(LCLF), ayg(Element[FrqSq, 1]))) → LS3D
  57. Sequence(Text[MPF + (k * CW), (ax1(MPF + (k * CW)) - 0.5, YAxMn1 - 1)], k, 0, NmCls - 1) → TDHLbSq
  58. Segment((ax2(LCLF + (5 * CW)), YAxMn1), (ax2(LCLF + (5 * CW)), ayg(Element[FrqSq, NmCls]))) → BLSG
  59. Sequence((ax3(k), YAxMn1), k, 0, NmCls) → TDBFSq
  60. Sequence((ax3(k), ayg(Element[FrqSq, k + 1])), k, 0, NmCls - 1) → TDTFLSq
  61. Sequence((ax3(k), ayg(Element[FrqSq, k])), k, 1, NmCls) → TDTFRSq
  62. Sequence(Segment[Element[TDTFLSq, k], Element[TDTFRSq, k]], k, 1, NmCls) → TDTFSq_1
  63. Sequence(Segment[Element[TDBFSq, k + 1], (ax3(k), ayg(Max[Element[FrqSq, k], Element[FrqSq, k + 1]]))], k, 1, NmCls - 1) → TDLSSq
  64. Line((4, -8), (4, 0)) → vrt1
  65. Sequence(Line[(XAxMn, ayg(k)), A], k, 0, GVSMx) → PLLSq
  66. Line((6, -8), (6, 0)) → vrt2
  67. Sequence(Line[(ax3(k), YAxMn1), A], k, 0, NmCls) → PLBSq
  68. Vector((0, 0), (0, 1)) → VV
  69. Sequence((Intersect[Element[PLLSq, k], vrt1] * VV), k, 1, GVSMx + 1) → VrtSq1
  70. Sequence((Intersect[Element[PLLSq, k], vrt2] * VV), k, 1, GVSMx + 1) → VrtSq2
  71. Line((0, -4), (30, -4)) → hrz2
  72. Line((0, -6), (30, -6)) → hrz1
  73. Vector((0, 0), (1, 0)) → HV
  74. Sequence((Intersect[Element[PLBSq, k], hrz1] * HV), k, 1, NmCls + 1) → HrzSq1
  75. Sequence((Intersect[Element[PLBSq, k], hrz2] * HV), k, 1, NmCls + 1) → HrzSq2
  76. Sequence(Segment[(XAxMn, ayg(k)), (6, Element[VrtSq2, k + 1])], k, 0, GVSMx, VSGF1) → TDVTcSq1
  77. Sequence(Segment[(6, Element[VrtSq2, k + 1]), (Element[HrzSq2, NmCls + 1], Element[VrtSq2, k + 1])], k, 0, GVSMx, VSGF1) → TDVTcSq2
  78. Sequence((Element[HrzSq1, k], -6), k, 1, NmCls + 1) → TDBBSq
  79. Sequence(Polygon[Element[TDBFSq, k + 1], Element[TDTFRSq, k], Element[TDTFLSq, k], Element[TDBFSq, k]], k, 1, NmCls) → TDFFSq
  80. Segment((XAxMn + 1, YAxMn1), (XAxMn + 1, ayg(Element[FrqSq, 1]))) → LfSd
  81. Segment((XAxMx, YAxMn1), (XAxMx, ayg(Element[FrqSq, NmCls]))) → RtSd
  82. Sequence(Line[(Element[HrzSq1, k], 0), VV], k, 1, NmCls + 1) → VrLnSq
  83. Sequence(Intersect[Line[(ax3(k - 1), ayg(Element[FrqSq, k])), A], Element[VrLnSq, k]], k, 1, NmCls + 1) → TDTBLSq2
  84. Sequence(Intersect[Line[(ax3(k), ayg(Element[FrqSq, k])), A], Element[VrLnSq, k + 1]], k, 1, NmCls) → TDTBRSq2
  85. Sequence(Polygon[Element[TDTBRSq2, k], Element[TDTFRSq, k], Element[TDTFLSq, k], Element[TDTBLSq2, k]], k, 1, NmCls) → TDTFSq
  86. Sequence(Polygon[Element[TDBFSq, k + 1], Element[TDBBSq, k + 1], Element[TDTBRSq2, k], Element[TDTFRSq, k]], k, 1, NmCls) → TDLFSq
  87. Sequence(Segment[Element[TDTFLSq, k], Element[TDTBLSq2, k]], k, 1, NmCls) → TDTLSq
  88. Sequence(Segment[(XAxMn - 0.2, ayoe(k)), (XAxMn, ayoe(k))], k, 0, VMxOE2, VSGF2) → OEVTc
  89. Sequence(Segment[(XAxMn, ayoe(k)), (XAxMx, ayoe(k))], k, 0, VMxOE2, VSGF2) → OEVGrd
  90. Sequence((ax1(LCLF + (CW * (k - 1))), ayoe(Element[FrqSq, k])), k, 1, NmCls) → OEVULSq
  91. Sequence((ax1(LCLF + (CW * k)), ayoe(Element[FrqSq, k])), k, 1, NmCls) → OEVURSq
  92. Sequence((ax1(LCLF + (k * CW)), YAxMn1), k, 0, NmCls - 1) → OEVLLSq
  93. Sequence((ax1(LCLF + (CW * k)), -8), k, 1, NmCls) → OEVLRSq
  94. Sequence(Polygon[Element[OEVLLSq, k], Element[OEVULSq, k], Element[OEVURSq, k], Element[OEVLRSq, k]], k, 1, 5) → OEVBrSq
  95. Sequence(Segment[(ax1(LCLF + (k * CW)), YAxMn1), (ax1(LCLF + (k * CW)), ayoe(Max[Element[FrqSq, k], Element[FrqSq, k + 1]]))], k, 1, NmCls - 1) → OEVSSq
  96. Segment(Element[OEVURSq, 5], Element[OEVLRSq, 5]) → OEVRtSd
  97. Sequence((MPFA + ((HS1 * CW) * (k - 1.25)), YAxMn1), k, 1, NmCls) → SBLLSq
  98. Sequence((MPFA + ((HS1 * CW) * (k - 1.25)), ayg(Element[FrqSq, k])), k, 1, NmCls) → SBULSq
  99. Sequence((MPFA + ((HS1 * CW) * (k - 0.75)), ayg(Element[FrqSq, k])), k, 1, NmCls) → SBURSq
  100. Sequence((MPFA + ((HS1 * CW) * (k - 0.75)), YAxMn1), k, 1, NmCls) → SBLRSq
  101. Sequence(Polygon[Element[SBLLSq, k], Element[SBULSq, k], Element[SBURSq, k], Element[SBLRSq, k]], k, 1, NmCls) → SBBrSq
  102. Sequence(Segment[(XAxMn, ayg(k)), (XAxMx, ayg(k))], k, 0, GVSMx, VSGF1) → UGHzGrd
  103. Sequence((ax1(LCLF + (CW * (k - 1))), ayg(Element[FrqSq, k]) - BGDst), k, 1, NmCls) → LGULSq
  104. Sequence((ax1(LCLF + (CW * (k - 1))), YAxMn1 - BGDst), k, 1, NmCls) → LGLLSq
  105. Sequence((ax1(LCLF + (CW * k)), ayg(Element[FrqSq, k]) - BGDst), k, 1, NmCls) → LGURSq
  106. Sequence((ax1(LCLF + (CW * k)), YAxMn1 - BGDst), k, 1, NmCls) → LGLRSq
  107. Sequence((ax1(LCLF + (k * CW)), YAxMn1), k, 1, NmCls) → UGLRSq
  108. Sequence((ax1(LCLF + (k * CW)), ayg(Element[FrqSq, k])), k, 1, NmCls) → UGURSq
  109. Sequence((ax1(LCLF + ((k - 1) * CW)), ayg(Element[FrqSq, k])), k, 1, NmCls) → UGULSq
  110. Sequence((ax1(LCLF + ((k - 1) * CW)), YAxMn1), k, 1, NmCls) → UGLLSq
  111. Sequence(Polygon[Element[UGLLSq, k], Element[UGULSq, k], Element[UGURSq, k], Element[UGLRSq, k]], k, 1, NmCls) → UGBrSq
  112. Sequence(Segment[Element[UGLRSq, k], Element[UGURSq, k]], k, 1, NmCls) → UGRSSq
  113. Sequence(Segment[Element[UGLLSq, k], Element[UGULSq, k]], k, 1, NmCls) → UGLSSq
  114. Sequence(Segment[Element[UGULSq, k], Element[UGURSq, k]], k, 1, NmCls) → UGTpSq
  115. Sequence(Polygon[Element[LGLLSq, k], Element[LGULSq, k], Element[LGURSq, k], Element[LGLRSq, k]], k, 1, NmCls) → LGBrSq
  116. Sequence(Polygon[Element[LGLLSq, k], Element[LGULSq, k], Element[LGURSq, k], Element[LGLRSq, k]], k, 1, NmCls) → LGBrSqMk
  117. Sequence(Segment[(XAxMn, ayg(k) - BGDst), (XAxMx, ayg(k) - BGDst)], k, 0, GVSMx, VSGF1) → LGHzGrdMk
  118. VerticalText("frequency") → LGVT
  119. VerticalText("frequency") → LGVTMk
  120. Element(AxTtlSq, DSNo) → LGHATtl
  121. Element(AxTtlSq, DSNo) → LGHATtlMk
  122. Sequence(Segment[Element[LGLLSq, k], Element[LGULSq, k]], k, 1, NmCls) → LGLSSq
  123. Sequence(Segment[Element[LGLLSq, k], Element[LGULSq, k]], k, 1, NmCls) → LGLSSqMk
  124. Sequence(Segment[Element[LGULSq, k], Element[LGURSq, k]], k, 1, NmCls) → LGTpSq
  125. Sequence(Segment[Element[LGLRSq, k], Element[LGURSq, k]], k, 1, NmCls) → LGRSSq
  126. Sequence(Segment[Element[LGULSq, k], Element[LGURSq, k]], k, 1, NmCls) → LGTpSqMk
  127. Sequence(Segment[Element[LGLRSq, k], Element[LGURSq, k]], k, 1, NmCls) → LGRSSqMk
  128. Sequence(Text[k, (XAxMn - 1.3, ayg(k) - BGDst - 0.2)], k, 0, GVSMx, VSGF1) → LGVALb
  129. Sequence(Text[k, (XAxMn - 1.3, ayg(k) - BGDst - 0.2)], k, 0, GVSMx, VSGF1) → LGVALbMk
  130. Sequence(Text[MPF + (k * CW), (ax1(MPF + (k * CW)) - 1, GGB - 1)], k, 0, NmCls - 1) → LGHALbSq
  131. Sequence(Text[MPF + (k * CW), (ax1(MPF + (k * CW)) - 1, GGB - 1)], k, 0, NmCls - 1) → LGHALbMk
  132. Sequence(Segment[(XAxMn, ayg(k) - BGDst), (XAxMx, ayg(k) - BGDst)], k, 0, GVSMx, VSGF1) → LGHzGrd
  133. Sequence(Segment[(XAxMn - 0.2, ayg(k) - BGDst), (XAxMn, ayg(k) - BGDst)], k, 0, GVSMx, VSGF1) → LGTcSq
  134. Sequence(Segment[(XAxMn - 0.2, ayg(k) - BGDst), (XAxMn, ayg(k) - BGDst)], k, 0, GVSMx, VSGF1) → LGTcSqMk
  135. Sequence(Segment[(XAxMn - 0.2, ayg(k)), (XAxMn, ayg(k))], k, 0, GVSMx, VSGF1) → UGTcSq
  136. Sequence(Text[Element[NUVLb, k], (XAxMn - 1.2, (VSNU * (k - 1)) + YAxMn1) - 0.2], k, 1, MxFrqNU + 1, 1) → NUVLbSq
  137. Sequence((ax1(LCLF + ((k - 1) * CW)), YAxMn1), k, 1, NmCls) → NULLSq
  138. Sequence((ax1(LCLF + (k * CW)), YAxMn1), k, 1, NmCls) → NULRSq
  139. Sequence((ax1(LCLF + (CW * (k - 1))), (VSNU * fa(Element[FrqSq, k])) + YAxMn1), k, 1, NmCls) → NUULSq
  140. Sequence((ax1(LCLF + (CW * k)), (VSNU * fa(Element[FrqSq, k])) + YAxMn1), k, 1, NmCls) → NUURSq
  141. Sequence(Polygon[Element[NULLSq, k], Element[NUULSq, k], Element[NUURSq, k], Element[NULRSq, k]], k, 1, NmCls) → NUBrSq
  142. Sequence(Segment[Element[NULLSq, k], Element[NUULSq, k]], k, 1, NmCls) → NULSSq
  143. Sequence(Segment[Element[NUULSq, k], Element[NUURSq, k]], k, 1, NmCls) → NUTpSq
  144. Sequence(Segment[Element[NULRSq, k], Element[NUURSq, k]], k, 1, NmCls) → NURSSq
  145. Sequence(Segment[(XAxMn - 0.2, (VSNU * k) + YAxMn1), (XAxMn, (VSNU * k) + YAxMn1)], k, 0, VLC, 1) → NUVtc
  146. Sequence(Segment[(XAxMn, (VSNU * k) + YAxMn1), (XAxMx, (VSNU * k) + YAxMn1)], k, 0, VLC, 1) → NUHGrd