def show_fit(w_fit, C_fit, r_fit, Xs):
fig = plt.figure()<EOL>ax = fig.gca(projection='<STR_LIT>')<EOL>ax.scatter([X[<NUM_LIT:0>] for X in Xs], [X[<NUM_LIT:1>] for X in Xs], [X[<NUM_LIT:2>] for X in Xs])<EOL>theta = np.arccos(np.dot(w_fit, np.array([<NUM_LIT:0>, <NUM_LIT:0>, <NUM_LIT:1>])))<EOL>phi = np.arctan2(w_fit[<NUM_LIT:1>], w_fit[<NUM_LIT:0>])<EOL>M = np.dot(rotation_matrix_from_axis_and_angle(np.array([<NUM_LIT:0>, <NUM_LIT:0>, <NUM_LIT:1>]), phi),<EOL>rotation_matrix_from_axis_and_angle(np.array([<NUM_LIT:0>, <NUM_LIT:1>, <NUM_LIT:0>]), theta))<EOL>delta = np.linspace(-np.pi, np.pi, <NUM_LIT:20>)<EOL>z = np.linspace(-<NUM_LIT:10>, <NUM_LIT:10>, <NUM_LIT:20>)<EOL>Delta, Z = np.meshgrid(delta, z)<EOL>X = r_fit * np.cos(Delta)<EOL>Y = r_fit * np.sin(Delta)<EOL>for i in range(len(X)):<EOL><INDENT>for j in range(len(X[i])):<EOL><INDENT>p = np.dot(M, np.array([X[i][j], Y[i][j], Z[i][j]])) + C_fit<EOL>X[i][j] = p[<NUM_LIT:0>]<EOL>Y[i][j] = p[<NUM_LIT:1>]<EOL>Z[i][j] = p[<NUM_LIT:2>]<EOL><DEDENT><DEDENT>ax.plot_surface(X, Y, Z, alpha=<NUM_LIT>)<EOL>ax.quiver(C_fit[<NUM_LIT:0>], C_fit[<NUM_LIT:1>], C_fit[<NUM_LIT:2>], <EOL>r_fit * w_fit[<NUM_LIT:0>], r_fit * w_fit[<NUM_LIT:1>], r_fit * w_fit[<NUM_LIT:2>], color='<STR_LIT>')<EOL>plt.show()<EOL>
Plot the fitting given the fitted axis direction, the fitted
    center, the fitted radius and the data points.