I'm trying to show the following points [`control = [0.20,0.40,0.60,0.80]`] on my orange dashed line. These points represent positions within the one segment of every subsection of the orange dashed line. According to the figure below, I made an annotate and it showed me them beside it, but I need them on it as the red x I made on, but for all subsections. how can I highlight all these points on the orange dashed line? ``import numpy as np\nimport scipy.special\nimport matplotlib.pyplot as plt\n\ndef calc_bezier_path(control_points, n_points=100):\n    """\n    Compute bezier path (trajectory) given control points.\n    :param control_points: (numpy array)\n    :param n_points: (int) number of points in the trajectory\n    :return: (numpy array)\n    """\n    traj = []\n    for t in np.linspace(0, 1, n_points):\n        traj.append(bezier(t, control_points))\n\n    return np.array(traj)\n\n\ndef bernstein_poly(n, i, t):\n    """\n    Bernstein polynom.\n    :param n: (int) polynom degree\n    :param i: (int)\n    :param t: (float)\n    :return: (float)\n    """\n    return scipy.special.comb(n, i) * t ** i * (1 - t) ** (n - i)\n\n\ndef bezier(t, control_points):\n    """\n    Return one point on the bezier curve.\n    :param t: (float) number in [0, 1]\n    :param control_points: (numpy array)\n    :return: (numpy array) Coordinates of the point\n    """\n    n = len(control_points) - 1\n    return np.sum([bernstein_poly(n, i, t) * control_points[i] for i in range(n + 1)], axis=0)\n\ndef line_bezier(visx, visy, control, mod="nothing"):\n    vis = np.column_stack((visx,visy))\n    path_x, path_y = np.array([]),np.array([])\n    setting = {"nothing":[len(vis)-2, 1, 1], "start":[len(vis)-1, 0, 0], "end":[len(vis)-1, 1, 0], "both":[len(vis), 0, -1]}\n    epoch = setting[mod]\n    start = setting[mod]\n    end = setting[mod]\n    if len(vis) > 2:\n        current_control = vis\n        for x in range(epoch):\n            if x != (epoch-1):\n                for y in control:\n                    if y == control:\n                        mid_control = [(vis[x+start,0]+(vis[x+(start+1),0]-vis[x+start,0])*y), (vis[x+start,1]+(vis[x+(start+1),1]-vis[x+start,1])*y)]\n                        plt.annotate("*", mid_control)\n                        bezier_line = calc_bezier_path(np.array([current_control,vis[x+start], mid_control]))\n                        path_x = np.append(path_x, bezier_line.T)\n                        path_y = np.append(path_y, bezier_line.T)\n                        current_control = mid_control\n                    else:\n                        mid_control = [(vis[x+start,0]+(vis[x+(start+1),0]-vis[x+start,0])*y), (vis[x+start,1]+(vis[x+(start+1),1]-vis[x+start,1])*y)]\n                        plt.annotate("*", mid_control)\n                        bezier_line = calc_bezier_path(np.array([current_control, mid_control]))\n                        path_x = np.append(path_x, bezier_line.T)\n                        path_y = np.append(path_y, bezier_line.T)\n                        current_control = mid_control\n                        \n            else:\n                if mod == "end" or mod == "both":\n                    bezier_line = calc_bezier_path(np.array([current_control, vis[x+(end+1)]]))\n                else:\n                    bezier_line = calc_bezier_path(np.array([current_control, vis[x+end], vis[x+(end+1)]]))\n                path_x = np.append(path_x, bezier_line.T)\n                path_y = np.append(path_y, bezier_line.T)\n    else:\n        path_x, path_y = visx, visy\n    return path_x, path_y\n\nvisx, visy = [1,2,10,15,20,25,21], [0,5,1,4,2,3,3]\ncontrol = [0.20,0.40,0.60,0.80]\npath_x, path_y = line_bezier(visx, visy, control,mod="end")\nplt.plot(path_x, path_y)\nplt.plot(visx, visy, "--o")\nfor xy in range(len(visx)):\n    plt.annotate(f"P{xy}", [visx[xy], visy[xy]])\n\nplt.xlabel('X')\nplt.ylabel('Y')\nplt.show()\n``