У меня есть следующий код, который генерирует трехмерный график. Я пытаюсь обозначить сюжетные линии, но они оказываются не там, где я ожидаю. [code]import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D import numpy as np
# Convert names into numerical indices for the Y-axis x = np.arange(len(weeks)) # X-axis y = np.arange(len(names)) # Y-axis wins_array = np.array(wins) # wins accumulated per weeks and per names
# Create a 3D plot fig = plt.figure(figsize=(18, 18)) ax = fig.add_subplot(111, projection='3d')
# Plot each line and add labels for i, y_week in enumerate(y): ax.plot(x, wins_array[i], zs=y_week, zdir='x', label=weeks[i]) # Add shaded area below the line ax.bar(x, wins_array[i], zs=y_week, zdir='x', alpha=0.1) # Add labels directly on the curves for j, my_label in enumerate(wins_array[i]): ax.text(i, my_label, y_week, f"{my_label}", color="red", fontsize=8, ha="center")
# Customize labels ax.set_zlabel('Wins') # Z-axis is wins ax.set_xticks(y) # X-ticks are names ax.set_xticklabels(names, rotation=45) # Name labels on X-axis ax.set_yticks(x) # Y-ticks are weeks ax.set_yticklabels(weeks) # Week labels on Y-axis
plt.show() [/code] Это текущий результат: [img]https://i.sstatic.net/O9FV6b31.png [/img]
Результат, которого я пытаюсь достичь, примерно такой: [img]https:// i.sstatic.net/2fSJ4LAM.png[/img]
Как мне исправить свой код, чтобы добиться желаемого результата?