#%% import matplotlib.pyplot as plt import numpy as np from mpl_toolkits.mplot3d import Axes3D fig = plt.figure(figsize=(9, 7)) ax = fig.add_subplot(111, projection='3d') # Vektoren definieren vektoren = { r'$\vec{a}$': (2, -1, 2), r'$P \cdot \vec{a}$': (2, -1, 0) } farben = ['#2196F3', '#FF5722'] for (name, wert), farbe in zip(vektoren.items(), farben): ax.quiver(0, 0, 0, *wert, color=farbe, lw=2.5, arrow_length_ratio=0.1) # Beschriftung am Pfeilende ax.text(wert[0] * 1.05, wert[1] * 1., wert[2] + 0.1, name, fontsize=13, color=farbe, fontweight='bold') # Projektion von a auf die xy-Ebene gestrichelt ax.plot([2, 2], [-1, -1], [0, 2], 'k--', lw=1, alpha=0.5) # Achsen ax.set_xlabel('x') ax.set_ylabel('y') ax.set_zlabel('z') ax.set_title('Projektion', fontsize=14) # Ansichtswinkel ax.view_init(elev=20, azim=45) plt.tight_layout() plt.savefig('vektoren_3d.png', dpi=150) plt.show()