识别直方图中的问题
几何画板及绘图内容加载中,请稍等……
本范例通过直方图展示了一些常见的问题,包括数据分组不当、频率分布不均等。涉及的核心数学概念包括统计学中的直方图、数据分组和频率分布。作图要点包括使用Sequence命令生成数据序列,使用Element命令提取元素,使用Max和Min命令找到最大值和最小值,使用If命令进行条件判断,使用KeepIf命令筛选数据,使用Segment命令绘制线段,使用Sum命令求和,使用Insert命令插入文本,使用VerticalText命令垂直显示文本,使用Sort命令排序,使用Line命令绘制直线,使用Vector命令绘制向量。适合高中及以上学生学习统计学和数据可视化。
GeoGebra 命令及参数
Sequence(Mod[4 + (19 * k), 40] + 1, k, 1, 40) → OpSq1Element(OpSq1, Seed) → Op1Element(DSSq, DSNo) → DS0Length(DS0) → SizeElement(AcSq, DSNo) → AcrMax(DS0) → DtMx1Min(DS0) → DtMn1If(LBO1 ≤ UB, LBO1, If[LBO ≤ UB, LBO, If[LBO2 ≤ UB, LBO2, If[LBO3 ≤ UB, LBO3, LBO4]]]) → CWSequence(DtMn1 + (k * CW), k, 0, NmCls - 1) → LCLElement(LCL, 2) → LCLSIf(LBO1 ≤ UB, 0, If[LBO ≤ UB, 0, If[LBO2 ≤ UB, 1, If[LBO3 ≤ UB, 2, 3]]]) → CWAcrMax(Acr, CWAcr) → NwAcrSequence(UCLF + (CW * k), k, 0, NmCls - 1) → UCLSequence(CountIf[Element[LCL, k] ≤ x ≤ Element[UCL, k], DS0], k, 1, NmCls) → FrqSqMax(FrqSq) → MxFrqGIf(MxFrqOE > 12, 3, If[MxFrqOE > 6, 2, 1]) → VSGF2If(MxFrqG > 12, 3, If[MxFrqG > 6, 2, 1]) → VSGF1If(VSGF1 ≟ 3, (ceil(MxFrqG / 3) * 3), If[VSGF1 ≟ 2, (ceil(MxFrqG / 2) * 2), MxFrqG]) → GVSMxSequence(k, k, 0, MxFrqNU, 2) → GVLbSqLength(GVLbSq) → VLCElement(LCL, 1) → LCLFSequence(k, k, 1, 19) → StrSqKeepIf(floor(20 / x) ≠ 20 / x, StrSq) → RlPrSqSegment(BRE, BLE) → BHAxSegment(BLE, BTE) → BVAxSum(FrqSq) → SzChSequence((Element[LCL, k] + Element[UCL, k]) / 2, k, 1, NmCls) → MdPtSqElement(MdPtSq, 1) → MPFElement(OpSq2, Seed) → ErrNoElement(AxTtlSq, DSNo) → UGHATtlElement(TtlSq, DSNo) → UGTtlElement(SclSq, DSNo) → SclElement(TSSq, DSNo) → TSSequence(Text[Element[LCL, k] + " to " + (Element[UCL, k])], k, 1, NmCls) → BHLbSqIf(VMxOE1 > 12, 3, If[VMxOE1 > 6, 2, 1]) → VSOEFSequence(Segment[(ax1(LCLF + (CW * (k - 1))), ayoe(Element[FrqSq, k])), (ax1(LCLF + (CW * k)), ayoe(Element[FrqSq, k]))], k, 1, NmCls) → OEBTSqSegment((XAxMx, YAxMn1), (XAxMx, ayoe(Element[FrqSq, NmCls]))) → LSOEInsert(1, GVLbSq, 2) → NUVLbSequence(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) → NUBTSqSequence(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) → NUBSSqSegment((XAxMx, YAxMn1), (XAxMx, (VSNU * fa(Element[FrqSq, NmCls])) + YAxMn1)) → LSNUElement(ErSq, ErrNo) → Ans1Segment(GLE, GTE) → GVAxSegment(GLE, GRE) → GHAxElement(GTtSq, DSNo) → LGTtlVerticalText("frequency") → UGVATtlSegment((XAxMx, GGB), (XAxMx, ayg(Element[FrqSq, NmCls]) - BGDst)) → GRSSequence(Segment[(MPFA + ((HS1 * CW) * (k - 1.25)), YAxMn1), (MPFA + ((HS1 * CW) * (k - 1.25)), ayg(Element[FrqSq, k]))], k, 1, NmCls) → SBLSSqSequence(Segment[(MPFA + ((HS1 * CW) * (k - 0.75)), YAxMn1), (MPFA + ((HS1 * CW) * (k - 0.75)), ayg(Element[FrqSq, k]))], k, 1, NmCls) → SBRSSqSequence(Segment[(MPFA + ((HS1 * CW) * (k - 1.25)), ayg(Element[FrqSq, k])), (MPFA + ((HS1 * CW) * (k - 0.75)), ayg(Element[FrqSq, k]))], k, 1, NmCls) → SBTpSqSequence(Text[k, (XAxMn - 1.1, ayoe(k)) - 0.2], k, 0, VMxOE2, VSGF2) → OEVLbSqSequence(Text[k, (XAxMn - 1.1, ayg(k)) - 0.2], k, 0, GVSMx, VSGF1) → GVLbTxSq1Sequence(Text[MPF + (k * CW), (ax1(MPF + (k * CW)) - 1, YAxMn1 - 1)], k, 0, NmCls - 1) → GHLbSqSequence(Text[Element[BHLbSq, k], (ax1(MPF + ((k - 1) * CW)) - 2.3, YAxMn1 - 1)], k, 1, NmCls) → BHLbTxSqSort(DS0) → SrtSqSegment((ax2(LCLF), YAxMn1), (ax2(LCLF), ayg(Element[FrqSq, 1]))) → LS3DSequence(Text[MPF + (k * CW), (ax1(MPF + (k * CW)) - 0.5, YAxMn1 - 1)], k, 0, NmCls - 1) → TDHLbSqSegment((ax2(LCLF + (5 * CW)), YAxMn1), (ax2(LCLF + (5 * CW)), ayg(Element[FrqSq, NmCls]))) → BLSGSequence((ax3(k), YAxMn1), k, 0, NmCls) → TDBFSqSequence((ax3(k), ayg(Element[FrqSq, k + 1])), k, 0, NmCls - 1) → TDTFLSqSequence((ax3(k), ayg(Element[FrqSq, k])), k, 1, NmCls) → TDTFRSqSequence(Segment[Element[TDTFLSq, k], Element[TDTFRSq, k]], k, 1, NmCls) → TDTFSq_1Sequence(Segment[Element[TDBFSq, k + 1], (ax3(k), ayg(Max[Element[FrqSq, k], Element[FrqSq, k + 1]]))], k, 1, NmCls - 1) → TDLSSqLine((4, -8), (4, 0)) → vrt1Sequence(Line[(XAxMn, ayg(k)), A], k, 0, GVSMx) → PLLSqLine((6, -8), (6, 0)) → vrt2Sequence(Line[(ax3(k), YAxMn1), A], k, 0, NmCls) → PLBSqVector((0, 0), (0, 1)) → VVSequence((Intersect[Element[PLLSq, k], vrt1] * VV), k, 1, GVSMx + 1) → VrtSq1Sequence((Intersect[Element[PLLSq, k], vrt2] * VV), k, 1, GVSMx + 1) → VrtSq2Line((0, -4), (30, -4)) → hrz2Line((0, -6), (30, -6)) → hrz1Vector((0, 0), (1, 0)) → HVSequence((Intersect[Element[PLBSq, k], hrz1] * HV), k, 1, NmCls + 1) → HrzSq1Sequence((Intersect[Element[PLBSq, k], hrz2] * HV), k, 1, NmCls + 1) → HrzSq2Sequence(Segment[(XAxMn, ayg(k)), (6, Element[VrtSq2, k + 1])], k, 0, GVSMx, VSGF1) → TDVTcSq1Sequence(Segment[(6, Element[VrtSq2, k + 1]), (Element[HrzSq2, NmCls + 1], Element[VrtSq2, k + 1])], k, 0, GVSMx, VSGF1) → TDVTcSq2Sequence((Element[HrzSq1, k], -6), k, 1, NmCls + 1) → TDBBSqSequence(Polygon[Element[TDBFSq, k + 1], Element[TDTFRSq, k], Element[TDTFLSq, k], Element[TDBFSq, k]], k, 1, NmCls) → TDFFSqSegment((XAxMn + 1, YAxMn1), (XAxMn + 1, ayg(Element[FrqSq, 1]))) → LfSdSegment((XAxMx, YAxMn1), (XAxMx, ayg(Element[FrqSq, NmCls]))) → RtSdSequence(Line[(Element[HrzSq1, k], 0), VV], k, 1, NmCls + 1) → VrLnSqSequence(Intersect[Line[(ax3(k - 1), ayg(Element[FrqSq, k])), A], Element[VrLnSq, k]], k, 1, NmCls + 1) → TDTBLSq2Sequence(Intersect[Line[(ax3(k), ayg(Element[FrqSq, k])), A], Element[VrLnSq, k + 1]], k, 1, NmCls) → TDTBRSq2Sequence(Polygon[Element[TDTBRSq2, k], Element[TDTFRSq, k], Element[TDTFLSq, k], Element[TDTBLSq2, k]], k, 1, NmCls) → TDTFSqSequence(Polygon[Element[TDBFSq, k + 1], Element[TDBBSq, k + 1], Element[TDTBRSq2, k], Element[TDTFRSq, k]], k, 1, NmCls) → TDLFSqSequence(Segment[Element[TDTFLSq, k], Element[TDTBLSq2, k]], k, 1, NmCls) → TDTLSqSequence(Segment[(XAxMn - 0.2, ayoe(k)), (XAxMn, ayoe(k))], k, 0, VMxOE2, VSGF2) → OEVTcSequence(Segment[(XAxMn, ayoe(k)), (XAxMx, ayoe(k))], k, 0, VMxOE2, VSGF2) → OEVGrdSequence((ax1(LCLF + (CW * (k - 1))), ayoe(Element[FrqSq, k])), k, 1, NmCls) → OEVULSqSequence((ax1(LCLF + (CW * k)), ayoe(Element[FrqSq, k])), k, 1, NmCls) → OEVURSqSequence((ax1(LCLF + (k * CW)), YAxMn1), k, 0, NmCls - 1) → OEVLLSqSequence((ax1(LCLF + (CW * k)), -8), k, 1, NmCls) → OEVLRSqSequence(Polygon[Element[OEVLLSq, k], Element[OEVULSq, k], Element[OEVURSq, k], Element[OEVLRSq, k]], k, 1, 5) → OEVBrSqSequence(Segment[(ax1(LCLF + (k * CW)), YAxMn1), (ax1(LCLF + (k * CW)), ayoe(Max[Element[FrqSq, k], Element[FrqSq, k + 1]]))], k, 1, NmCls - 1) → OEVSSqSegment(Element[OEVURSq, 5], Element[OEVLRSq, 5]) → OEVRtSdSequence((MPFA + ((HS1 * CW) * (k - 1.25)), YAxMn1), k, 1, NmCls) → SBLLSqSequence((MPFA + ((HS1 * CW) * (k - 1.25)), ayg(Element[FrqSq, k])), k, 1, NmCls) → SBULSqSequence((MPFA + ((HS1 * CW) * (k - 0.75)), ayg(Element[FrqSq, k])), k, 1, NmCls) → SBURSqSequence((MPFA + ((HS1 * CW) * (k - 0.75)), YAxMn1), k, 1, NmCls) → SBLRSqSequence(Polygon[Element[SBLLSq, k], Element[SBULSq, k], Element[SBURSq, k], Element[SBLRSq, k]], k, 1, NmCls) → SBBrSqSequence(Segment[(XAxMn, ayg(k)), (XAxMx, ayg(k))], k, 0, GVSMx, VSGF1) → UGHzGrdSequence((ax1(LCLF + (CW * (k - 1))), ayg(Element[FrqSq, k]) - BGDst), k, 1, NmCls) → LGULSqSequence((ax1(LCLF + (CW * (k - 1))), YAxMn1 - BGDst), k, 1, NmCls) → LGLLSqSequence((ax1(LCLF + (CW * k)), ayg(Element[FrqSq, k]) - BGDst), k, 1, NmCls) → LGURSqSequence((ax1(LCLF + (CW * k)), YAxMn1 - BGDst), k, 1, NmCls) → LGLRSqSequence((ax1(LCLF + (k * CW)), YAxMn1), k, 1, NmCls) → UGLRSqSequence((ax1(LCLF + (k * CW)), ayg(Element[FrqSq, k])), k, 1, NmCls) → UGURSqSequence((ax1(LCLF + ((k - 1) * CW)), ayg(Element[FrqSq, k])), k, 1, NmCls) → UGULSqSequence((ax1(LCLF + ((k - 1) * CW)), YAxMn1), k, 1, NmCls) → UGLLSqSequence(Polygon[Element[UGLLSq, k], Element[UGULSq, k], Element[UGURSq, k], Element[UGLRSq, k]], k, 1, NmCls) → UGBrSqSequence(Segment[Element[UGLRSq, k], Element[UGURSq, k]], k, 1, NmCls) → UGRSSqSequence(Segment[Element[UGLLSq, k], Element[UGULSq, k]], k, 1, NmCls) → UGLSSqSequence(Segment[Element[UGULSq, k], Element[UGURSq, k]], k, 1, NmCls) → UGTpSqSequence(Polygon[Element[LGLLSq, k], Element[LGULSq, k], Element[LGURSq, k], Element[LGLRSq, k]], k, 1, NmCls) → LGBrSqSequence(Polygon[Element[LGLLSq, k], Element[LGULSq, k], Element[LGURSq, k], Element[LGLRSq, k]], k, 1, NmCls) → LGBrSqMkSequence(Segment[(XAxMn, ayg(k) - BGDst), (XAxMx, ayg(k) - BGDst)], k, 0, GVSMx, VSGF1) → LGHzGrdMkVerticalText("frequency") → LGVTVerticalText("frequency") → LGVTMkElement(AxTtlSq, DSNo) → LGHATtlElement(AxTtlSq, DSNo) → LGHATtlMkSequence(Segment[Element[LGLLSq, k], Element[LGULSq, k]], k, 1, NmCls) → LGLSSqSequence(Segment[Element[LGLLSq, k], Element[LGULSq, k]], k, 1, NmCls) → LGLSSqMkSequence(Segment[Element[LGULSq, k], Element[LGURSq, k]], k, 1, NmCls) → LGTpSqSequence(Segment[Element[LGLRSq, k], Element[LGURSq, k]], k, 1, NmCls) → LGRSSqSequence(Segment[Element[LGULSq, k], Element[LGURSq, k]], k, 1, NmCls) → LGTpSqMkSequence(Segment[Element[LGLRSq, k], Element[LGURSq, k]], k, 1, NmCls) → LGRSSqMkSequence(Text[k, (XAxMn - 1.3, ayg(k) - BGDst - 0.2)], k, 0, GVSMx, VSGF1) → LGVALbSequence(Text[k, (XAxMn - 1.3, ayg(k) - BGDst - 0.2)], k, 0, GVSMx, VSGF1) → LGVALbMkSequence(Text[MPF + (k * CW), (ax1(MPF + (k * CW)) - 1, GGB - 1)], k, 0, NmCls - 1) → LGHALbSqSequence(Text[MPF + (k * CW), (ax1(MPF + (k * CW)) - 1, GGB - 1)], k, 0, NmCls - 1) → LGHALbMkSequence(Segment[(XAxMn, ayg(k) - BGDst), (XAxMx, ayg(k) - BGDst)], k, 0, GVSMx, VSGF1) → LGHzGrdSequence(Segment[(XAxMn - 0.2, ayg(k) - BGDst), (XAxMn, ayg(k) - BGDst)], k, 0, GVSMx, VSGF1) → LGTcSqSequence(Segment[(XAxMn - 0.2, ayg(k) - BGDst), (XAxMn, ayg(k) - BGDst)], k, 0, GVSMx, VSGF1) → LGTcSqMkSequence(Segment[(XAxMn - 0.2, ayg(k)), (XAxMn, ayg(k))], k, 0, GVSMx, VSGF1) → UGTcSqSequence(Text[Element[NUVLb, k], (XAxMn - 1.2, (VSNU * (k - 1)) + YAxMn1) - 0.2], k, 1, MxFrqNU + 1, 1) → NUVLbSqSequence((ax1(LCLF + ((k - 1) * CW)), YAxMn1), k, 1, NmCls) → NULLSqSequence((ax1(LCLF + (k * CW)), YAxMn1), k, 1, NmCls) → NULRSqSequence((ax1(LCLF + (CW * (k - 1))), (VSNU * fa(Element[FrqSq, k])) + YAxMn1), k, 1, NmCls) → NUULSqSequence((ax1(LCLF + (CW * k)), (VSNU * fa(Element[FrqSq, k])) + YAxMn1), k, 1, NmCls) → NUURSqSequence(Polygon[Element[NULLSq, k], Element[NUULSq, k], Element[NUURSq, k], Element[NULRSq, k]], k, 1, NmCls) → NUBrSqSequence(Segment[Element[NULLSq, k], Element[NUULSq, k]], k, 1, NmCls) → NULSSqSequence(Segment[Element[NUULSq, k], Element[NUURSq, k]], k, 1, NmCls) → NUTpSqSequence(Segment[Element[NULRSq, k], Element[NUURSq, k]], k, 1, NmCls) → NURSSqSequence(Segment[(XAxMn - 0.2, (VSNU * k) + YAxMn1), (XAxMn, (VSNU * k) + YAxMn1)], k, 0, VLC, 1) → NUVtcSequence(Segment[(XAxMn, (VSNU * k) + YAxMn1), (XAxMx, (VSNU * k) + YAxMn1)], k, 0, VLC, 1) → NUHGrd