diff --git a/tools/statistique/deriv1_deriv2.py b/tools/statistique/deriv1_deriv2.py new file mode 100644 index 0000000..6eaaace --- /dev/null +++ b/tools/statistique/deriv1_deriv2.py @@ -0,0 +1,49 @@ +import matplotlib.pyplot as plt +import numpy as np +from mpl_toolkits.mplot3d import Axes3D + +# Labels +x_labels = ['B5', 'B4', 'B3', 'B2', 'B1', 'N0', 'H1', 'H2', 'H3', 'H4', 'H5'] +y_labels = ['B5', 'B4', 'B3', 'B2', 'B1', 'N0', 'H1', 'H2', 'H3', 'H4', 'H5'] + +# Data matrix +data = np.array([ + [29.0, 33.8, 23.5, 26.2, 22.2, 8.1, 25.5, 39.3, 52.6, 62.6, 64.1], + [28.8, 22.5, 28.6, 34.9, 25.6, 19.1, 37.4, 45.2, 57.0, 69.4, 62.1], + [30.2, 24.2, 24.2, 25.7, 31.4, 28.1, 49.8, 56.9, 60.8, 68.8, 63.2], + [31.0, 24.5, 25.5, 25.2, 32.3, 40.0, 55.0, 61.9, 64.5, 69.0, 66.6], + [33.1, 30.2, 26.6, 29.3, 34.6, 47.8, 59.4, 69.4, 70.2, 71.6, 66.0], + [29.6, 29.5, 30.2, 32.1, 39.8, 56.2, 66.4, 71.5, 72.9, 73.0, 63.4], + [34.2, 30.4, 31.1, 36.8, 44.9, 62.5, 68.9, 72.1, 74.9, 74.7, 65.5], + [36.5, 31.3, 35.6, 42.3, 52.8, 68.1, 68.4, 77.0, 76.1, 74.4, 67.7], + [36.1, 34.2, 43.8, 49.1, 59.8, 77.7, 69.2, 73.5, 78.8, 72.5, 66.7], + [35.7, 42.2, 52.8, 62.5, 72.2, 87.8, 69.7, 68.1, 74.3, 75.2, 70.1], + [35.3, 48.3, 58.2, 72.1, 78.5, 96.5, 83.6, 69.1, 78.1, 69.9, 72.3] +]) + +# Meshgrid for 3D plotting +x = np.arange(len(x_labels)) +y = np.arange(len(y_labels)) +x, y = np.meshgrid(x, y) +z = data + +# Plotting +fig = plt.figure(figsize=(12, 8)) +ax = fig.add_subplot(111, projection='3d') +surf = ax.plot_surface(x, y, z, cmap='viridis', edgecolor='k') + +# Axes settings +ax.set_xticks(np.arange(len(x_labels))) +ax.set_yticks(np.arange(len(y_labels))) +ax.set_xticklabels(x_labels) +ax.set_yticklabels(y_labels) +ax.set_xlabel('mid_smooth_deriv1_144_bin') +ax.set_ylabel('mid_smooth_deriv2_144_bin') +ax.set_zlabel('Probabilité de hausse (%)') +ax.set_title('Probabilité de hausse pour futur_percent_3h (%)') + +# Colorbar +fig.colorbar(surf, ax=ax, shrink=0.5, aspect=10) + +plt.tight_layout() +plt.show()