双数据集对比统计图表几何构造工具
几何画板及绘图内容加载中,请稍等……
①本范例演示如何利用 GeoGebra 构造一个能同时对比表达两组不同数据的统计图表,实现数据的可视化并列对比与分析。②涉及的核心数学概念包括数列(Sequences)、算术平均值、统计分布以及几何多边形在数据可视化中的映射应用。③在作图要点上,该工具通过 `Sequence` 命令和 `InputBox` 输入框(绑定变量如 `v_1` 至 `v_{12}`)接收数据,利用 `Point`、`Segment` 和 `Midpoint` 构建坐标网格与定位,最终通过 `Polygon` 命令绘制出代表数据大小的多边形柱体(如 `Bar1`、`Data1` 等对象),并结合 `Textfield` 文本框实时显示统计指标。④该范例适合高中及以上学段,适用于统计学、几何作图及数据可视化跨学科教学,能有效提升学生对数据序列与几何构造结合的理解。
GeoGebra 命令及参数
Sequence((-4 + i, -4.2), i, 0, 18, 2) → g, {(-4, -4.2), (-2, -4.2), (0, -4.2), (2, -4.2), (4, -4.2), (6, -4.2), (8, -4.2), (10, -4.2), (12, -4.2), (14, -4.2)}Textfield() → InputBox1Point(g) → NSequence((-12, 2 + i + 0.2), i, 0, 4, 2) → f, {(-12, 2.2), (-12, 4.2), (-12, 6.2)}Point(f) → MSegment((-10, -4), (-10, Ymax)) → v_1Segment((-6, -4), (-6, Ymax)) → v_3Segment((0, -4), (0, Ymax)) → v_6Segment((2, -4), (2, Ymax)) → v_7Segment((4, -4), (4, Ymax)) → v_8Segment((6, -4), (6, Ymax)) → v_9Segment((8, -4), (8, Ymax)) → v_{10}Segment((10, -4), (10, Ymax)) → v_{11}Segment((-4, -4), (-4, Ymax)) → v_4Segment((-2, -4), (-2, Ymax)) → v_5Segment((12, -4), (12, Ymax)) → v_{12}Point(v_1) → ASegment((-8, -4), (-8, Ymax)) → v_2Point(v_2) → BPoint(v_3) → CPoint(v_4) → DPoint(v_5) → EPoint(v_6) → FPoint(v_7) → GPoint(v_8) → HPoint(v_9) → IPoint(v_{10}) → JPoint(v_{11}) → KPoint(v_{12}) → LSequence(Polygon[(-13 + (2 * i) + 0.4, -4), (-13 + (2 * i) + 0.4, Element[Data1, i]), (-13 + (2 * i) + 1.6, Element[Data1, i]), (-13 + (2 * i) + 1.6, -4)], i, 1, numClass, 1) → Bar1, {9.584999999999994, 6, 4.779999999999998, 7.199999999999998, 7.7700000000000005, 6.26, 5.706000000000002, 6.339999999999999, 6.339999999999996, 6.319999999999993, 6.599999999999994, 6.359999999999996}Point(v_1) → A'Point(v_2) → B'Point(v_3) → C'Point(v_4) → D'Point(v_5) → E'Point(v_6) → F'Point(v_7) → G'Point(v_8) → H'Point(v_9) → I'Point(v_{10}) → J'Point(v_{11}) → K'Point(v_{12}) → L'Sequence(Segment[(-12 + (2 * i), Element[Data1, i]), (-10 + (2 * i), Element[Data1, i + 1])], i, 1, numClass - 1, 1) → Line1, {3.5951573331357842, 2.2435710621932863, 2.8402366881026735, 2.0556325060671714, 2.3629225077809424, 2.0525925341165765, 2.068607287793193, 2, 2.0000694432388535, 2.0135651080718606, 2.009975124224178}Sequence(Polygon[(-13 + (2 * i) + 0.4, -4), (-13 + (2 * i) + 0.4, Element[Data2, i]), (-13 + (2 * i) + 1.6, Element[Data2, i]), (-13 + (2 * i) + 1.6, -4)], i, 1, numClass, 1) → Bar2, {8.459999999999994, 10.199999999999989, 11.384999999999987, 9.629999999999995, 8.940000000000001, 9.3, 7.840000000000002, 7.579999999999999, 7.719999999999997, 8.019999999999996, 7.999999999999993, 2.3599999999999994}Sequence(Segment[(-12 + (2 * i), Element[Data2, i]), (-10 + (2 * i), Element[Data2, i + 1])], i, 1, numClass - 1, 1) → Line2, {2.470323865407125, 2.230505828282007, 2.4776816280547442, 2.0810153771656754, 2.0223748416156684, 2.340999311784986, 2.0117018776261166, 2.0033998879682287, 2.0155644370746373, 2.0000694432388535, 5.107837115648853}Sequence(Segment[(-12 + (2 * i), -4), (-12 + (2 * i), -4.3)], i, 1, numClass, 1) → ClassMark, {0.2999999999999998, 0.2999999999999998, 0.2999999999999998, 0.2999999999999998, 0.2999999999999998, 0.2999999999999998, 0.2999999999999998, 0.2999999999999998, 0.2999999999999998, 0.2999999999999998, 0.2999999999999998, 0.2999999999999998}Sequence(Segment[(-12 + (0.2 * i), -4), (-12 + (0.2 * i), Ymax)], i, 1, (((2 * numClass) + 2) * 5), 1) → Vert1, {10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}Sequence(Segment[(-12, -4 + (0.2 * i)), ((2 * numClass) - 10, -4 + (0.2 * i))], i, 1, ((Ymax + 4) * 5), 1) → Hor1, {26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26}Sequence(Segment[((2 * numClass) - 10, -6 + i), ((2 * numClass) - 10 + 0.3, -6 + i)], i, 2, Ymax + 6, 2) → Ymark2, {0.3000000000000007, 0.3000000000000007, 0.3000000000000007, 0.3000000000000007, 0.3000000000000007, 0.3000000000000007}Sequence(Segment[(-12, -6 + i), (-12.3, -6 + i)], i, 2, Ymax + 6, 2) → Ymark1, {0.3000000000000007, 0.3000000000000007, 0.3000000000000007, 0.3000000000000007, 0.3000000000000007, 0.3000000000000007}Textfield() → InputBox2Textfield() → InputBox3Textfield() → InputBox4Textfield() → InputBox5Textfield() → InputBox6Textfield() → InputBox7Textfield() → InputBox8Textfield() → InputBox9Textfield() → InputBox10Textfield() → InputBox11Textfield() → InputBox13Textfield() → InputBox14Textfield() → InputBox15Textfield() → InputBox16Textfield() → InputBox17Textfield() → InputBox18Textfield() → InputBox19Textfield() → InputBox20Textfield() → InputBox21Textfield() → InputBox22Textfield() → InputBox23Textfield() → InputBox24Textfield() → InputBox12Point(Circle[Q_1, 1]) → Q_2Segment(Q_1, Q_2) → hMidpoint(Q_1, Q_2) → QPolygon(P_4, P_1, P_2, P_3) → q1, p_4, p_1, p_2, p_3Textfield() → InputBox25Point(Circle[R_1, 1]) → R_2Segment(R_1, R_2) → iMidpoint(R_1, R_2) → RTextfield() → InputBox26Segment((-12, -4), ((2 * numClass) - 10, -4)) → jSegment((-12, -4), (-12, Ymax)) → kSegment((-12 + (2 * numClass) + 2, -4), (-12 + (2 * numClass) + 2, Ymax)) → lSequence(Length[Element[l2, i]], i, 1, 6, 1) → l3, {0, 0, 0, 0, 0, 0}Sequence(Length[Element[l4, i]], i, 1, 6, 1) → l5, {0, 0, 0, 0, 0, 0}Sequence(Length[Element[l6, i]], i, 1, 12, 1) → l7, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}Sequence(Segment[(-12 + i, -4), (-12 + i, Ymax)], i, 0, (2 * numClass) + 2, 1) → Vert2, {10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}Sequence(Segment[(-12, -4 + i), ((2 * numClass) - 10, -4 + i)], i, 0, Ymax + 4, 1) → Hor2, {26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26}
AI 绘图提示语参考
在坐标系中建立一个用于对比的双集合统计条形图:先生成一组底部等距的水平位置点作为分组边界,并在同一x位置放置竖向刻度线,纵向方向统一到可调的最高高度。再在左侧构造两组独立的分组矩形条形,每组条形由四个角点围成封闭多边形,条高分别由两组数据序列控制;为每一类在每个数据组对应位置绘制一条条形。随后把每组条形顶端按相邻类别连接成折线,用以表示数据随类别变化的趋势。最后加入网格式的水平与竖向标记线,形成清晰的读数参照。
以上提示语为根据原始绘图命令整理而来,仅供参考。